首页 > 其他分享 >mybatis注解开发

mybatis注解开发

时间:2022-12-21 12:11:08浏览次数:43  
标签:column Results 开发 Result mybatis 注解 property id select

@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与@Result 一起使用,封装多个结果集
@ResultMap:实现引用@Results 定义的封装
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@SelectProvider: 实现动态 SQL 映射
@CacheNamespace:实现注解二级缓存的使用

SqlMapConfig.xml配置映射信息

<!-- 配置映射信息 -->
<mappers>
    <!-- 配置 dao 接口的位置,它有两种方式
    第一种:使用 mapper 标签配置 class 属性
    第二种:使用 package 标签,直接指定 dao 接口所在的包
    -->
    <package name="com.itheima.dao"/>
</mappers>
@Select("select * from user")
@Results(id="userMap",
    value= {
    @Result(id=true,column="id",property="userId"),
    @Result(column="username",property="userName"),
    @Result(column="sex",property="userSex"),
    @Result(column="address",property="userAddress"),
    @Result(column="birthday",property="userBirthday")
})
List<User> findAll();
@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(column="uid",
        property="user",
        one=@One(select="com.itheima.dao.IUserDao.findById",
            fetchType=FetchType.LAZY)
    )
})
List<Account> findAll();
@Select("select * from user")
@Results(id="userMap",
    value= {
        @Result(id=true,column="id",property="userId"),
        @Result(column="username",property="userName"),
        @Result(column="sex",property="userSex"),
        @Result(column="address",property="userAddress"),
        @Result(column="birthday",property="userBirthday"),
        @Result(column="id",property="accounts",
        many=@Many(
            select="com.itheima.dao.IAccountDao.findByUid",
            fetchType=FetchType.LAZY
        )
    )
})
List<User> findAll();

注解开启二级缓存
1、在 SqlMapConfig 中开启二级缓存支持

<!-- 配置二级缓存 -->
<settings>
    <!-- 开启二级缓存的支持 -->
    <setting name="cacheEnabled" value="true"/>
</settings>

2、在持久层接口中使用注解配置二级缓存

@CacheNamespace(blocking=true)//mybatis 基于注解方式实现配置二级缓存
public interface IUserDao {}

标签:column,Results,开发,Result,mybatis,注解,property,id,select
From: https://www.cnblogs.com/yanshiheng/p/16995981.html

相关文章