Mybatis + Spring でのWebアプリを作成しています。
mybatis-generatorを利用し、mapperなどを自動生成しています。
その自動生成されるExampleクラスでDBの検索をしたいのですが、
and条件であれば問題なく実現出来ました。
java
1 AaaExample example = new AaaExample(); 2 example.createCriteria() 3 .andColumnAEqualTo(a) 4 .andColumnBEqualTo(b) 5 .andColumnCEqualTo(c); 6 xxxMapper.selectByExample(example);
これで行えばsqlのwhere部分はand条件で絞り込めました。
しかしorの場合がどうやるか分からず困っております。
単純なorではなく以下のようなSQLを組み立てたいのです。
sql
1select * from xxx 2where 3 (A = 'a' or B = 'b') 4and C = 'c'
or()というメソッドがExampleクラスで生成されていたので、以下のように利用してみましたが
java
1 example.or().andAEqualTo('a').andBEqualTo('b'); 2 example.or().andCEqualTo('c');
sql
1where 2 (A = 'a' AND B = 'b') 3or C = 'c'
といった具合で()内はandで繋げられてしまいました。
()内をorの条件にしたい場合は自分でxmlにSQLを用意する方法しかないのでしょうか?
また、Exampleクラスで実現可能な場合、xmlにSQLを記載する方法とどちらが良いのでしょうか。
よろしくお願いします。
あなたの回答
tips
プレビュー