Mybatis使用注解配置pojoMapper

mac2022-06-30  26

常用注解

@ 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);
最新回复(0)