以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。参考リンクインストールさきほどのリンクの通りです。自動生成JPAの場合、ネットビーンズからエンティティを自動生成できますがiciqlにも似たような機能があります。本体のjarファイルを使って以下のようにコマンドをたたけばOKです。パスワード具体的な引数は下記のようになります。(←これはリポジトリから引っ張り出したり、公式サイトからダウンロードしてカレントディレクトリにおいたりしてます。(←これはリポジトリから引っ張り出したり、公式サイトからダウンロードしてカレントディレクトリにおいたりしてます。パスワードちなみにもっといろいろな引数を付けられるようです。プロパティが全てpublicで出力される。プロパティの並びがバラバラ(後述する問題点で致命的になる。)プロパティの変数名がデータベースのカラムと一緒(スネークケースになる)など使いにくい点が挙げられます。簡単でいいんですが、いろいろと使いにくいところもありました。私が解決できていないだけかもしれませんが下記に列挙します。日付がらみのものが多かったです。Date型のインポートjava.util.Dateではなくjava.sql.Dateでないとエラーになります。00:00:00などが入っていると取得時にエラーが発生します。00:00:00′′なんてアノテーションが付きますが、これもエラーになります。TIMESTAMP”も駄目です。自動生成機能はあまりスペックが高くないかも・・・です。executeQueryのselect文executeQueryという直接sqlを実行できるメソッドがありますが、これで取得する場合、エンティティの順番をデータベースのカラムの順番と一緒にしておく必要があります。name;などと並んでいるとエラー(nameをintegerに変換できない・・)がでます。age;と書かなくてはいけません。・・・などワイルドカードを使うのも駄目です。データベースのカラムの並びと統一してあげる必要があります。これには正直驚きました。時下のsqlではなく、通常のselectのメソッドを使う場合は問題ありません。簡単に使えることは間違ないですし、テストなんかもしやすいのでいい点を積極的に活用してあげましょう。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。関連記事SQLのチューニングに関してここ2か月ぐらいはSQLの本でがりがり勉強してきましたね。復習も必要かと思いますが、だいぶいろんなことを覚えたなあという気がします。最近、業務ではコードの量が肥大化し、とにかく短く書くことを心がけてます。...リフレクション前回のエントリーでは動的にクラスを使いまわす方法について書いたのですが、同様にリフレクション(動的にインスタンスを生成する方法)という技術についても学びました。...try~catch~finallyで気を付けることJavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。...MySQLでの日付関数MySQLでSUMやCOUNTなんかはよく使うと思うのですが、日付の関数なんかもかなり使います。今回は、日付の日数をとりたいときの関数を紹介。