四、MyBatis注解开发
MyBatis中提供注解有:
@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与@Result 一起使用,封装多个结果集
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@CacheNamespace:实现注解二级缓存的使用
下面就常用注解:@Insert 、@Update、@Delete、@Select、@Result、@Results、@One、@Many示范
一)MyBatis简单增删查改
接口UserMapper:
测试:
删、改、查类推
二)MyBatis复杂映射开发
注解与mapper.xml对比(图片参考其他文档):
同配置文件类似分为一对一、一对多、多对多分别实现(参考https://www.cnblogs.com/ilovebath/p/14490304.html进行对比)
1)一对一
实现:select * from neworder o, user u where o.uid = u.id
分解为:select * from neworder o
select * from user u where u.id=o.uid
接口:
测试:
2)一对多
实现:select *,o.id oid from user u left join neworder o on u.id=o.uid
分解为:select * from user u
select * from neworder o where o.uid = u.id
接口:
测试:
3)多对多
实现:select * from student s left join sc on s.id=sc.sid inner join course c on sc.cid=c.id
分解为:select * from student s
select * from course c , sc where c.id=sc.cid and sc.sid=s.id
同上一对多处理