mybatis 映射器
1 映射器 Mapper 是由java接口和 XML 文件共同组成。它的作用如下
1)定义参数类型
2)描述缓存
3)描述 SQL 语句
4)定义查询结果和POJO的映射关系
2 SqlSessionFactoryBuilder 主要作用是用来生成 SqlSessionFactory,生成以后就不用了,所以它的生命周期只存在于方法局部。
3 SqlSessionFactory 的作用是创建SqlSession,而 SqlSession 就是一个会话,相当于是JDBC的 Connection 对象。每次应用访问数据库,就需要通过 SqlSessionFactory 创建SqlSession ,所以 SqlSessionFactory 应该在整个生命周期中。每个数据库只对应一个 SqlSessionFactory 。
4 SqlSession 是一个会话,相当于 JDBC 的 Connection 对象,它的生命周期应该是请求数据库处理事务的过程中。它是一个线程不安全的对象,当操作数据库时需要注意其隔离级别、数据库锁等高级特性。
此外每次创建都需要及时关闭它。
5 Mapper 是一个接口,而没有任何实现类,它的作用是发送SQL语句,然后返回我们的结果;或者执行SQL语句修改数据库中数据,因此他应该在一个 SqlSession 事务方法之内,是一个方法级别的东西。
它的最大范围和 SqlSession 是相同的。
6 typeHandler 常用的配置为 java 类型、jdbc类型。typeHandler 的作用就是将参数从 javaType 转化为 jdbcType,或者从数据库取出结果把 jdbcType 转换成 javaType 。
7 引入映射器的方法
7.1)使用文件路径引入映射器,
<mappers>
<mapper resource=""></mapper>
</mappers>
7.2)使用包名引入映射器,
<mappers>
<package name=""/>
</mappers>
7.3)使用扫描方式引入
<!-- mybatis的Mapper的扫描器 MapperScannerConfigure 会自动扫描
mapper包下的所有接口自动生成代理对象: 对象名字为Mapper接口类名(首字母小写)
-->
<bean id="mapperScanConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="basePackage" value="com.huitong.dao"/>
</bean>
mybatis 映射器的更多相关文章
- MyBatis映射器(一)--多参数传递方式
在mybatis映射器的接口中,一般在查询时需要传递一些参数作为查询条件,有时候是一个,有时候是多个.当只有一个参数时,我们只要在sql中使用接口中的参数名称即可,但是如果是多个呢,就不能直接用参数名 ...
- MyBatis映射器(转载)
什么是MyBatis映射器? MyBatis框架包括两种类型的XML文件,一类是配置文件,即mybatis-config.xml,另外一类是映射文件,例如XXXMapper.xml等.在MyBatis ...
- MyBatis映射器元素
映射器是MyBatis最强大的工具,也是我们使用MyBatis时用的最多的工具,映射器中主要有增删改查四大元素,来满足不同场景的需要: 下面是主要元素的介绍: select:查询语句 ...
- mybatis映射器配置细则
前面三篇博客我们已经多次涉及到映射器的使用了,增删查基本上都用过一遍了,但是之前我们只是介绍了基本用法,实际上mybatis中映射器可以配置的地方还是非常多,今天我们就先来看看映射器还有哪些需要配置的 ...
- mybatis 映射器(mappers) 配置说明 加载映射文件方式
映射器(mappers) 既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语句了.但是首先我们需要告诉 MyBatis 到哪里去找到这些语句. Java 在自动查找这 ...
- Mybatis映射器接口代理对象的方式 运行过程
查询一张表的所有数据. 环境: 使用工具IntelliJ IDEA 2018.2版本. 创建Maven工程不用骨架 1.pom.xml <?xml version="1.0" ...
- Mybatis 映射器接口实现类的方式 运行过程debug分析
查询一张表的所有数据. 环境: 使用工具IntelliJ IDEA 2018.2版本. 创建Maven工程不用骨架 <?xml version="1.0" encoding= ...
- 【长文】Spring学习笔记(七):Mybatis映射器+动态SQL
1 概述 本文主要讲述了如何使用MyBatis中的映射器以及动态SQL的配置. 2 MyBatis配置文件概览 MyBatis配置文件主要属性如下: <settings>:相关设置,键值对 ...
- Mybatis映射器(一)
XML查询参数: parameterType:可以给出类别名,全名等. resultType:查询结果,可以为 int,float,map等不可以与resultMap同时使用. resultMap: ...
随机推荐
- 源码管理--llorch的Visual Studio基本教程(四)
通用的演示样例说明: 本系列博客仅仅讨论工具的基础,不讨论不论什么语言. 甚至不讨论快捷键:-) 能够用鼠标就完毕本教程 IDE默认指代的是Visual Studio 2013 Community E ...
- react+redux+generation-modation脚手架搭建一个todolist
TodoList 1. 编写actions.js 2. 分析state 试着拆分成多个reducer 3. 了解store 4. 了解redux数据流生命周期 5. 分析容器组件和展示组件 搞清楚,数 ...
- android基础知识普及
1.密度问题及相互转换 测试机 philips w732 480X800 density 1.5 scaledDensity 1.6500001 通过 context.getResources().g ...
- Easyui NumberBox格式化展示
格式化效果: 源代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- PHP-Java-Bridge使用笔记
最近因为需要封装一个jar包供php调用,在网上搜索了下,基本上讲都是使用php-java-bridge,说实话,网上的教程有很多是不行的,但是功夫不负有心人,找到了一篇文章,也很感谢那篇文章的作者, ...
- TensorFlow进阶(五)---图与会话
图与会话 图 tf.Graph TensorFlow计算,表示为数据流图.一个图包含一组表示 tf.Operation计算单位的对象和tf.Tensor表示操作之间流动的数据单元的对象.默认Graph ...
- 虚机启动失败-Event 1069
Failover cluster中的一台虚机启动失败. 报错如下: 文字信息关键字如下: Event 1069; Event 21502; 0x80004005; Cluster resource ' ...
- Jackson 练习(一)
package com.yc.model; /** * 班级 * @author Administrator * */ public class ClassModel { private String ...
- org.hibernate.MappingException: An association from the table order_intem_inf refers to a unmapped
执行一个HIbernate的演示样例时出现例如以下错误信息 Exception in thread "main" java.lang.ExceptionInInitializerE ...
- C#应用视频教程3.1 USB工业相机测试
图像处理是工控很有价值的一个领域,比如人脸识别,车牌识别,还有产品的位置识别,瑕疵检测,对于个人学习来说,我们无法直接上手几万块的成熟工业相机(高端的康耐视要6万左右,而且是黑白的,要测试一些带颜色的 ...