認知度が結構あがってきてMaven2も
結構つかわれてきてるのではないかと思います。
でもまだまだ、Antやシェルを使ってコンパイルなどの作業を行っている人もいるでしょう。
そこでMaven2を使うメリット・特徴などを書いていきたいと思います。
続きを読む
package jp.canetrash.sample.ibatis3.mapper;
import java.util.List;
import jp.canetrash.sample.ibatis3.domain.Emp;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface EmpMapper {
@Select("SELECT * FROM emp ")
ListselectAllEmp();
Emp selectEmp(int id);
@Insert("insert into emp (id, name, title ) values (#{id}, #{name}, #{title})")
void insertEmp(Emp emp);
@Delete("delete from emp where id = #{id}")
int deleteEmp(int id);
int updateEmp(Emp emp);
@Update("create table emp (id integer, name varchar(128), title varchar(128)) ")
void createTable();
@Update("drop table emp")
void dropTable();
}
<iftest="title != null">
AND title like #{title}
</if>
<choose>
<when test="title != null">
AND title like #{title}
</when>
<when test="author != null && author.name != null">
AND title like #{author.name}
</when>
<otherwise>
AND featured = 1
</otherwise>
</choose>
import static org.apache.ibatis.jdbc.SelectBuilder.*;
...
private String selectPersonSql() {
BEGIN(); // Clears ThreadLocal variable
SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME");
SELECT("P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON");
FROM("PERSON P");
FROM("ACCOUNT A");
INNER_JOIN("DEPARTMENT D on D.ID = P.DEPARTMENT_ID");
INNER_JOIN("COMPANY C on D.COMPANY_ID = C.ID");
WHERE("P.ID = A.ID");
WHERE("P.FIRST_NAME like ?");
OR();
WHERE("P.LAST_NAME like ?");
GROUP_BY("P.ID");
HAVING("P.LAST_NAME like ?");
OR();
HAVING("P.FIRST_NAME like ?");
ORDER_BY("P.ID");
ORDER_BY("P.FULL_NAME");
return SQL();
}