
【mybatis】架构实现原理--2 mybatis的几种写法
发布日期:2021-05-08 11:07:19
浏览次数:17
分类:精选文章
本文共 2064 字,大约阅读时间需要 6 分钟。
文章目录
1. mapper定义的两种写法
1.1 mapper接口+mapper.xml文件的方式
mapper接口如下:
package com.mapper;import com.pojo.Teacher;import java.util.List;public interface TeacherMapper { public ListfindAll();}
mapper.xml如下:
注意:namespace的值一般为接口所在的包名加接口名"com.mapper.TeacherMapper"
在整体的配置文件中,要写xml的全名:
1.2 mapper接口加注解的方式
直接将mapper.xml配置文件用注解的方式写在接口中,所以只有一个mapper的接口,其中result代表resultMap。
mapper接口:
package com.mapper;import com.pojo.Teacher;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import java.util.List;public interface TeacherMapper { @Select("select * from tb_teacher") @Results({ @Result(property = "id",column = "id"), @Result(property = "name",column = "t_name") }) public ListfindAll();}
在整体的配置文件中,要写接口的全名:
1.3 总结
配置虽然只有xml和java接口2种实现,但是在全局配置文件进行引入时,其实有4种用法:
2. 调用的两种写法
2.1 使用SqlSession的selectOne,selectList,selectMap方法
package com.dao;import com.pojo.Teacher;import com.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import java.util.List;public class UserDao { private SqlSession sqlSession = MyBatisUtil.getSqlSession(); public ListfindAll(){ List list = sqlSession.selectList("com.mapper.TeacherMapper.findAll"); return list; }}
2.2 调用mapper接口的方法
package com.dao;import com.mapper.TeacherMapper;import com.pojo.Teacher;import com.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import java.util.List;public class TeacherDao { private SqlSession sqlSession = MyBatisUtil.getSqlSession(); public ListfindAll(){ TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); List list = mapper.findAll(); return list; } }
本质上,这种形式的调用,最后会转换为2.1形式,只不过通过代码进行了封装,方便我们调用。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月08日 18时35分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言实现面向对象方法学的GLib、GObject-初体验
2021-05-09
系统编程-进程-ps命令、进程调度、优先级翻转、进程状态
2021-05-09
为什么我觉得需要熟悉vim使用,难道仅仅是为了耍酷?
2021-05-09
一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
2021-05-09
HDOJ2017_字符串统计
2021-05-09
高等软工第二次作业《需求分析阶段总结》
2021-05-09
404 Note Found 团队会议纪要
2021-05-09
CentOS安装Docker-ce并配置国内镜像
2021-05-09
使用JWT作为Spring Security OAuth2的token存储
2021-05-09
使用Redis作为Spring Security OAuth2的token存储
2021-05-09
【SOLVED】Linux使用sudo到出现输入密码提示延迟时间长
2021-05-09
项目引入非配置的文件,打成war包后测试报错的可能原因
2021-05-09
Git学习笔记
2021-05-09
SpringBoot笔记
2021-05-09
让你的代码更优秀的 14 条建议
2021-05-09
不需要爬虫也能轻松获取 unsplash 上的图片
2021-05-09
将博客搬至CSDN
2021-05-09