图解源码:MyBatis 的 Mapper 原理

栏目: Java · 发布时间: 5年前

内容简介:提到看源码,很多同学内心的恐惧的,其实这个从人性的角度来说是非常正常的,因为人们对未知的事物,都是非常恐惧的,其次,你内心可能始终觉得,好像不会原理也还是能工作啊,你的潜意识里没有强烈的欲望.从阅读源码的经历来说,Java三大框架SSM中,Mybatis的源码是最适合入门的.这是一个简单的Mybatis保存对象的例子但是在实际中,我们都不是这样操作的,我们是通过Mapper接口,调用接口方法,就能实现CRUD操作,那么关键是,这个接口究竟做了什么事,才是我们关心的.

提到看源码,很多同学内心的恐惧的,其实这个从人性的角度来说是非常正常的,因为人们对未知的事物,都是非常恐惧的,其次,你内心可能始终觉得,好像不会原理也还是能工作啊,你的潜意识里没有强烈的欲望.从阅读源码的经历来说,Java三大框架SSM中,Mybatis的源码是最适合入门的.

简单使用

这是一个简单的Mybatis保存对象的例子

 1@Test
2public void testSave() throws Exception {
3 //创建sessionFactory对象
4 SqlSessionFactory sf = new SqlSessionFactoryBuilder().
5 build(Resources.getResourceAsStream("mybatis-config.xml"));
6 //获取session对象
7 SqlSession session = sf.openSession();
8 //创建实体对象
9 User user = new User();
10 user.setUsername("toby");
11 user.setPassword("123");
12 user.setAge(23);
13 //保存数据到数据库中
14 session.insert("com.toby.mybatis.domain.UserMapper.add", user);
15 //提交事务,这个是必须要的,否则即使 sql 发了也保存不到数据库中
16 session.commit();
17 //关闭资源
18 session.close();
19}
1<mapper namespace="com.toby.mybatis.domain.UserMapper">
2 <!--#{}在传入的对象中找对应的属性值-->
3 <!--parameterType传入的参数是什么类型-->
4 <insert id="add" parameterType="com.toby.mybatis.domain.User">
5 INSERT INTO USER (username,password,age) VALUES (#{username},#{password},#{age})
6 </insert>
7</mapper>

引出主题

但是在实际中,我们都不是这样操作的,我们是通过Mapper接口,调用接口方法,就能实现CRUD操作,那么关键是,这个接口究竟做了什么事,才是我们关心的.

只要把下面这段代码究竟发生了什么事弄明白,就明白,这个Mapper接口究竟做了什么事.

1public void testGetObject() throws Exception {
2 SqlSession session = MybatisUtil.openSession();
3
4 UserMapper mapper = session.getMapper(UserMapper.class);
5 User user = mapper.get(5L);
6
7 System.out.println(user);
8 session.close();
9}

1public interface UserMapper {
2
3 public void add(User user);
4 public User get(Long id);
5}

流程图

但是我认为,一张流程图和时序图就看明白这期间所发生的事

图解源码:MyBatis 的 Mapper 原理

图解源码:MyBatis 的 Mapper 原理

图解源码:MyBatis 的 Mapper 原理


以上所述就是小编给大家介绍的《图解源码:MyBatis 的 Mapper 原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

文明之光(第二册)

文明之光(第二册)

吴军 / 人民邮电出版社 / 2014-6 / 59.00元

【《文明之光》系列荣获由中宣部、中国图书评论学会和中央电视台联合推选的2014“中国好书”奖】 吴军博士从对人类文明产生了重大影响却在过去被忽略的历史故事里,选择了有意思的几十个片段特写,以人文和科技、经济结合的视角,有机地展现了一幅人类文明发展的宏大画卷。 《文明之光 》系列大致按照从地球诞生到近现代的顺序讲述了人类文明进程的各个阶段,每个章节相对独立,全景式地展现了人类文明发展历程......一起来看看 《文明之光(第二册)》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具