2013-01-01から1年間の記事一覧

procedure で実行するクエリ結果を受け取る

mybatis の驚くべき以外なところは、ストアドプロシジャの中で、クエリ、SELECT文を書いてある場合に、 SQLMap の resultType で結果を受け取れることである。 このような selectタグで、ストアドプロシジャを呼び、 <select id="checkItems" statementType="CALLABLE" parameterType="xx.xx.RangeParameter" resultType="xxx.logic.Result"> { call sp_items(#{startdate,jdbcType</select>…

jquery-ui の DatePicker の書式を指定する

Wicket に限定する話ではないが、jquery-ui の DatePicker の書式は、デフォルトで、 mm/dd/yy である。 これを、yyyy/MM/dd の書式に変えたい時は、jquery-ui-xxx.js を修正しないとならない。 jquery-ui-1.10.3.custom.js で以下を修正する。 function Dat…

ActionBar Tab アイコン

ActionBar Tab 表示でアイコンを使用して選択時と非選択時のアイコンを変える場合、、 このようなTabデザインの時、、 単純だが、以下のように選択時のアイコンと非選択時のアイコンの drawable ID を返すものを用意する private int getTabIconId(int posit…

プロシジャで採番を行う。

採番されてるべきコードの抜けが発生したテーブルを 単純に番号を割り振っていくプロシジャ、テーブル名や、コードのけた数など修正すれば、 使い回しができるプロシジャを書いてみた。 この例は、items というテーブルに、7桁のコード:0’ゼロ’埋めされて…

Volley StringRequest

Google I/O 2013 の Volley の StringRequest は、簡単な要求を実行するのに便利だ。 説明のし易さの為なのか、以下のような記述をネット上では良く見かける。 StringRequest req = new StringRequest(Method.GET, url , new Response.Listener<String>(){ @Override</string>…

TransactionException: Error configuring

時間がなくて、つい、やってしまう過ちなのだが、 mybatis を使ったサイトを構築して、以下のエラーを発生 Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error opening session. Cause: org.apache.ibatis.transaction.TransactionEx…

jquery-ui wicket の Datepicker を使う時の注意

googlecode の jquery-ui wicket の Datepicker を使う時の注意 com.googlecode.wicket.jquery.ui.form.datepicker.AjaxDatePicker の使用で発生すること。 日付を変更入力したときに onValueChanged で、ページ構成の都合上、JavaScript で再読み込み= doc…

Volley の NetworkImageView を使う

先日は、com.android.volley.toolbox.ImageLoader.ImageListener による ImageLoader を使う方法で 画像読込中と失敗した時の画像を指定したが、 今度は、ImageLoader とNetworkImageView 先日同様に、、LruCache 継承の BitmapLruCache を用意して ImageLoa…

mybatis CALLABLE

mybatis でストアドプロシジャを呼ぶ時の SQLmap の例 <select id="callfoo" statementType="CALLABLE" parameterType="test.Parameter"> { call sp_foo( #{ startdate, jdbcType=TIMESTAMP, mode=IN} , #{ mount, jdbcType=INTEGER, mode=OUT } ) } </select>

Volley のImageLoader を使う

先日は、単に ImageRequest を使うだけのサンプルを書いたので、 com.android.volley.toolbox.ImageLoader を使う方法、 android.support.v4.util.LruCache 継承の com.android.volley.toolbox.ImageLoader.ImageCache 実装を用意する。 import android.grap…

CREATE TEMPORARY TABLE と mybatis

一時テーブルを使用して以下のように集計を行うこと DROP TABLE IF EXISTS tempdays; CREATE TEMPORARY TABLE tempdays SELECT * FROM ( SELECT CURDATE() AS 't_date' UNION ALL SELECT ADDDATE(CURDATE(), -1) AS 't_date' UNION ALL SELECT ADDDATE(CURDA…

Volley の ImageRequest

Google I/O 2013 で紹介された Volley ライブラリ、もうだいぶ経ってしまって今更なんだが、メモとして。。。 com.android.volley.RequestQueue を Activity クラス内で宣言して -------- private RequestQueue mQueue; onCreate でキュー生成する mQueue = …

copy-dependencies not supported by m2e回避

Maven で、copy-dependencies を使うと、Eclipseで以下のようにエラーが発生する。 maven-dependency-plugin (goals “copy-dependencies”, “unpack”) is not supported by m2e しかし、このままでも実行は可能である。 ======= エラーが発生する記述 …

MavenセントラルリポジトリのURL

メモ http://search.maven.org/ 前はよく検索に以下を使っていたのだが、 http://mvnrepository.com/ セントラルリポジトリにUPされた最新のものが、検索で出てこなかったりするので 上の方を使った方が良いみたい。 2013-08-29 時点で、Wicket 6.10.0 がセ…

BEFORE INSERT のトリガで充分

MySQL で2つ以上の TIMESTAMP型の列がある場合の定義を、以前、 http://blog.zaq.ne.jp/oboe2uran/article/914/ に書いたが、この方法だと、INSERT 時に、NULL を指定など、センスがなかった。 DELIMITER // DROP TABLE IF EXISTS pointinfo ; // CREATE TA…

MySQL ファイル出力時の改行コード

MySQL の INTO OUTFILE でデータを書きだす場合で、任意に改行を行う場合、 0x0d 0x0a あるいは、0x0a を出力すれば良いと思い、 CONCAT( str1, char(13), char(10), str2 ) または、 CONCAT( str1, char(10), str2 ) の結果を出力していれば良いと思ってい…

ERROR 1045 (28000): Access denied for ..

MySQLストアドプロシジャ等から任意のデータをファイルに出力しようとして、 次のエラーが発生、 ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES) 出力先のファイルシステムのパーミッションをチェックしても問題がな…

Use View.isInEditMode

Android アプリ開発で、カスタムビューを作ったり、どこからかカスタムビューを持ってきて、 Eclipse のADTプラグイン上でレイアウト編集を表示すると、、 Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse と表示…

ストアドプロシジャのメモ(3)

ただのメモ。 itemcounts テーブルにあるカウント値を、30分毎に以下のような procedure を cron で実行して icount_report に入れていくだけ。 DELIMITER // DROP PROCEDURE IF EXISTS sp_summary // CREATE PROCEDURE sp_summary() BEGIN DECLARE done I…

onPageFinished でJavaScript 連携に普遍性を。。

WebView の JavaScript 連携はセキュリティに問題が残るとしても、やはり魅力的な使い方がある。 ページが読み込めなかった時、、 WebViewClient の onReceivedError が呼ばれるのでそこでエラー処理を書けばよいのだが、、 onPageFinished で判定したい場合…

ファイルを毎日、ローテート

今更ではあるが、毎日ログファイルをローテーション Linux には、logrotate というツールはあるので、それを使えばいいのだけれども、 http://linuxcommand.org/man_pages/logrotate8.html http://linux.die.net/man/8/logrotate あえて簡単にシェルで書くな…

Fragmentで画面向き変更を検知した処理

Fragment 構成のアプリで、画面の向きが変わった時に Fragment 側で処理をする場合は、 Activity の ライフサイクル Destroy が走ることを利用する。 以下、サンプルである。 Activity での記述 public class SampleActivity extends Activity{ : : privat…

ストアドの中で、Error Code: 1267

ストアドで、LIKE 検索をして Error Code: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'like' というエラーが発生してしまった。 SHOW VARIABLES LIKE '%collation%'; を実行すると、、、 Va…

mysqldump でプロシジャを確認する

MySQL のストアドプロシジャの内容を確認するのは、 SHOW CREATE PROCEDURE procedure_name がよく使われるようだが、これだと少しでも長いコードは途中で省略されて出力されるので、 非常に困る。 mysqldump で、routine だけを指定して登録されてるもの全…

Chrome の Database

Google Chrome のデーターベースの場所は、Windpws なら、 C:\Users\{ユーザ名}\AppData\Local\Google\Chrome\User Data\Default\databases に、Databases.db というファイルがあり、それがデータベースである。 今度、Git-hub にある JavaScript で、Chro…

Zoomする ImageButton

タッチして画像をズーム表示する ImageButton のサンプルが Android Developer サイトで 紹介されている。 http://developer.android.com/training/animation/zoom.html ここからダウンロードできる。 ここにあるのは、ズームしてからタッチして戻ると選択状…

アクションバーでEditText をfull で配置する

アクションバーで EditText を横幅いっぱい、つまり、layout_width="match_parent" の表示を行いたい場合、 良く見る教科書どおりの menu の作り方ではなく、RelativeLayout で配置しなければならない。 以下のようなアクションバーの画面を作る場合、、 ア…

アクションバーのタイトルを非表示にする

ActionBar の setDisplayShowTitleEnabled を実行するか setDisplayOptions で制御する。 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); // タイトルを表示しないよ…

file:///android_asset/ でアクセス

プロジェクト/assets の下に、画像ファイルもしくは、JavaScript ソースを置き、 ローカルでなく、リモートのURL(http://..)にアクセスしページ読み込み後に、 webView.loadUrl("javascript: を使用して、JavaScript の innerHTML を使い <script src="file:///android_asset/jquery.min.js" type="text/javascript"></script> を読み込んだ…

Apache を使う開発環境を用意するために

Windows7 で Apache 80番ポートを使用するために設定を行う コントロールパネル→「システムとセキュリティ」→「Windowsファイルウォールによるプログラムの許可」 を出して、上の「設定の変更」ボタンを押してから、 「別のプログラムの許可」ボタンを押す。…