Mybatis配置详解
2019-04-29 08:51:55来源:博客园 阅读 ()
一、SqlSession的使用范围说明
1、SQLSessionFactoryBuilder
通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory,将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例模式管理,在创建SqlSessionFactory的时候,只需要new一次SqlSessionFactoryBuilder即可。
2、SqlSessionFactory
通过SqlSessionFactory创建SqlSession,使用单例模式来管理SqlSessionFactory(工厂一旦创建,只使用一个实例)。
3、SqlSession
SqlSession是一个面向用户(程序员)的接口。
SqlSession中提供了很多操作数据库的方法:如selectOne(返回单个对象)、selectList(返回单个或多个对象)。
SqlSession是线程不安全的,因为在SqlSession中除了有接口中的方法(操作数据库的方法)之外。还有数据域属性。
SqlSession的最佳应用场合是在方法体内,将其定义为局部变量来使用。
二、SqlMapConfig.xml配置文件详解
1、Properties属性
Properties属性用来加载属性配置文件。
<!-- 加载属性文件 resource:属性文件的相对路径 url:属性文件的绝对路径 --> <properties resource="config/db.properties"> <!-- 配置一些属性 name:属性的名称 value:属性的值 --> <!--<property name="" value="" /> --> </properties>
properties特性:
Mybatis将按照下面的属性来加载属性:
1. 首先会读取在property标签中定义的属性。
2. 然后会读取在properties标签中通过resource或url加载时的属性,它会覆盖已读取得同名属性。
3. 最后会读取sql中parameterType传递过来的属性,它会覆盖已读取的同名属性。
2、settings全局参数配置
Mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载等。这些参数要通过settings标签来配置,全局参数会影响Mybatis的运行行为,配置一定要注意。
常用的全局配置参数如下:
<!--全局参数配置--> <settings > <!-- name:属性名称 value:属性的值 --> <setting name="" value=""/> </settings>
3、typeAlia
在映射文件中的parameterType和resultType属性中要指定输入、输出映射类型,如果类型为PO,要指定PO类的全路径这样不是特别方便,可以使用typeAlias定义一些别名,来方便开发。
<!--定义别名--> <typeAliases> <!-- type:需要起别名的字符串 alias:对应的别名 --> <typeAlias type="" alias="" /> <!-- name:包名,会对包下面的类进行扫描,自动批量设置别名, 设置的别名为类名,首字母大小写均可 --> <package name="" /> </typeAliases> Mybatis的默认别名
4、typeHandlers(类型处理器)
Mybatis中通过typeHandlers完成jdbc类型和Java类型的装换。通常情况下,Mybatis提供的类型处理器满足日常需要,不需要我们再自定义。
<typeHandlers> <typeHandler handler="" jdbcType="" javaType="" /> </typeHandlers> Mybatis默认支持的数据类型
5、environments 环境
<!-- 环境配置 在和Spring整合后改配置将废除 --> <environments default="development"> <environment id="development"> <!--使用JDBC的事务管理,事务管理交给Mybatis--> <transactionManager type="JDBC"></transactionManager> <!--数据库连接池,有Mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments>
6、mapper 加载映射文件
加载映射文件有三种方式
1、加载单个映射文件
<!--引入mapper--> <mappers> <!--rerource:引入映射文件相对于classpath的地址--> <mapper resource="config/sqlmap/userMapper.xml" /> </mappers>
2、通过Mapper接口加载单个映射文件
前提条件:
(1). 使用Mapper代理的方式进行开发。
(2). Mapper接口文件名要和映射文件名一致
(3).Mapper接口文件和映射文件在同一个目录下
<!--引入mapper--> <mappers> <mapper class="com.jack.po.UserMapper" /> </mappers>
3、批量记载映射文件
前提条件:
(1). 使用Mapper代理的方式进行开发。
(2). Mapper接口文件名要和映射文件名一致
(3).Mapper接口文件和映射文件在同一个目录下
<!--引入mapper--> <mappers> <!--name:mapper接口文件所在的包路径--> <package name="" /> </mappers>
本文来自上海尚学堂Java学员原创
原文链接:https://www.cnblogs.com/shsxt/p/10790988.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- MyBatis中的$和#,用不好,准备走人! 2020-06-11
- 数据源管理 | Kafka集群环境搭建,消息存储机制详解 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- Java--Stream流详解 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash