mybatis 注解开发
@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与@Result 一起使用,封装多个结果集
@ResultMap:实现引用@Results 定义的封装
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@SelectProvider: 实现动态 SQL 映射
@CacheNamespace:实现注解二级缓存的使用
使用注解进行单表 CRU
// 使用注解进行单表 CRUD
// 编写测试类
如果实体类属性名和数据库字段名不一致,需要加 Results @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")
})
@Select("select * from user")
List<User> findAll();
@Select("select * from user where id=#{id} ")
@ResultMap("userMap")
User findById(Integer userId);
注解多表 多对一(一对一)查询
在Account实体类中加User属性//多对一(mybatis中称之为一对一)的映射:一个账户只能属于一个用户
编写AccountDao 主要是Results注解和One注解
public
编写Account测试类 public
注解多表一对多查询
在User实体类中加Account属性//一对多关系映射:一个用户对应多个账户
在UserDao中加方法 /**
编写User测试类 /**
缓存
对于一级缓存,mybatis是默认开启的@Test
二级缓存需要手动开启 先设置mybatis主配置文件 <!--开启二级缓存-->
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
然后在需要开启二级缓存的dao类前加注解 // 开启二级缓存
然后测试一下 /**
https://github.com/YourFigo/javaSSMgithub.com