常用注解
@ Insert
@ Delete 4个
@ Update
@ Selete
@Results
@Result 3个
@ResultMap
@One 2个
@Many
@SeleteProvider 1个
@CatchNameSpace 1个
案例一:one用法
@Select("select * from account")
@Results(id="accountMap",value = {
@Result(id=true,column = "id",property = "id"),
@Result(column = "uid",property = "uid"),
@Result(column = "money",property = "money"),
@Result(property = "user",column = "uid",one=@One(select="com.itheima.dao.IUserDao.findById",fetchType= FetchType.EAGER))
})
案例二 many的用法
@Select("select * from user")
@Results(id="userMap",value={
@Result(id=true,column = "id",property = "userId"),
@Result(column = "username",property = "userName"),
@Result(column = "address",property = "userAddress"),
@Result(column = "sex",property = "userSex"),
@Result(column = "birthday",property = "userBirthday"),
@Result(property = "accounts",column = "id",
many = @Many(select = "com.itheima.dao.IAccountDao.findAccountByUid",
fetchType = FetchType.LAZY))
})
注解开启二级缓存
<!--第一步 SqlMapConfig.xml-->
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
<!--第二步 PojiMapper中使用注解-->
@CacheNamespace(blocking=true)
获得自增主键值
@SelectKey(
keyColumn="id",
keyProperty="id",
resultType=Integer.class,
before = false,
statement = { "select last_insert_id()" }
)
int saveUser(User user);