MyBatis
动态 sql
超级拼串王。
if 标签:比如说根据 bean 查询,不是 null 的就要作为条件去查:
1 | public class Teacher { |
1 | public interface TeacherDao { |
1 | <select id="getTeacherByCondition" resultType="net.yxchen.bean.Teacher"> |
嫌上面的麻烦,可以把 trim 换成 where 标签然后把 and 写在前头而不是后头,也可以。
foreach:
1 | <foreach collection="ids" item="idItem" separator="," open="(" close=")"> |
ids 是一个 @Param("ids") List<Integer> ids
。
还有 choose 标签,就相当于 switch。
还有 set 标签,用于 update。update 里头一堆 if 后头带个逗号,可以用 set 标签包裹起来,就能消掉逗号,像 where 一样。
缓存
一级缓存:sqlSession 级别,默认存在。任何一次增删改都会清空一级缓存。
MBG
mybatis generator,根据数据库表就能自动生成 bean、dao,非常方便。