MyBatis的XML配置文件(一)
来源:互联网 发布:阿桑奇 斯诺登 知乎 编辑:程序博客网 时间:2024/06/04 01:22
MyBatis的组成中,主要的是SqlSessionFactory的类,这个类会动态调用SqlSession和执行SQL的声明映射。SqlSessionFactory的对象创建可以基于XML的配置或Java的API
笔者将向大家介绍MyBatis的配置文件中的配置参数,像dataSource、environment、gypeAlisea、typeHandler和SQL的映射。
从这一节开始,笔者所介绍的内容包含下面的:
1) 使用XML配置文件
2) 使用Java API的配置
3) MyBatis的日志加载
1. 使用 XML的配置文件
创建SqlSessionFactory常用的普遍的方法就是基于XML的配置。下面有一份mybatis-config的配置文件。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="application.properties"><property name="username" value="db_user"/><property name="password" value="verysecurepwd"/></properties><settings><setting name="cacheEnabled" value="true"/></settings><typeAliases><typeAlias alias="Tutor" type="com.owen.mybatis.domain.Tutor"/><package name="com.owen.mybatis.domain"/></typeAliases><typeHandlers><typeHandler handler="com.owen.mybatis.typehandlers.PhoneTypeHandler"/><package name="com.owen.mybatis.typehandlers"/></typeHandlers><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment><environment id="production"><transactionManager type="MANAGED"/><dataSource type="JNDI"><property name="data_source" value="java:comp/jdbc/MyBatisDemoDS"/></dataSource></environment></environments><mappers><mapper resource="com/owen/mybatis/mappers/StudentMapper.xml"/><mapper url="file:///D:/mybatisdemo/mappers/TutorMapper.xml"/><mapper class="com.owen.mybatis.mappers.TutorMapper"/></mappers></configuration>
下面我们将对这些配置的信息进行探讨。
2. Environment参数
MyBatis提供了多套数据源的环境配置,以至于将应用程序部署在多样的环境中,像DEV、TEST、QA、UAT和PRODUCTION.这样,我们可以更加容易去改变默认的环境,我们只需要改变enviroment的id的值就行了。一般,我们的默认的环境配置值是development。当我们的应用部署在生产的应用程序上时,我们不需要改变太多有配置文件,仅仅只需要改变一下默认的enviroment的id值就可以。
有时候,我们在一个同样的应用程序中,我们可能需要使用多套的数据库。例如,我们需要SHOPPINGCART的数据库来储蓄订单的详细信息和我们需要database去汇报我们的目的,通过储蓄订单的详细信息。
在你的应用程序中,需要去连接多个不同的数据库,你需要分开去配置每套数据库,和分开去创建SqlSessionFactory对象对应不同的数据库。<environments default="shoppingcart"><environment id="shoppingcart"><transactionManager type="MANAGED"/><dataSource type="JNDI"><property name="data_source" value="java:comp/jdbc/ShoppingcartDS"/></dataSource></environment><environment id="reports"><transactionManager type="MANAGED"/><dataSource type="JNDI"><property name="data_source" value="java:comp/jdbc/ReportsDS"/></dataSource></environment></environments>
我们可以创建SqlSessionFactory给我们的环境,如下所示:
inputStream = Resources.getResourceAsStream("mybatis-config.xml");defaultSqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);cartSqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"shoppingcart");reportSqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"reports");
当我们创建SqlSessionFactory没有明确定义environment的id时,SqlSessionFactory将会创建默认的环境。在上面的代码中,defaultSqlSessionFactory创建使用shoppingcart的环境配置。在每一个的环境中,我们需要去配置dataSource和transactionManager的参数。
3. DataSource的参数
dataSource的参数的配置,是数据库连接的属性需要的相应参数。
<dataSource type="POOLED"><property name="driver" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource>
上面的代码中,我们看到了dataSource的type是“POOLED”,这个type可以是UNPOOLED、POOLED、或JNDI.
1) 如果你使用的type是UNPOOLED,MyBatis将会在第一次数据库操作的时候,开启数据库和关闭数据库。这个方法可以用于一些简单的数据库,和用户量不是很多的程序中。不过笔者不提倡使用这个方法。
2) 如果你使用的type是POOLED,MyBatis将会创建一个数据库的连接池,和数据库在操作时,只会连接数据库一次。一旦这个连接成功后,MyBatis将会返回,连接到连接池中,也就是说,以后所使用的数据是从连接池来获取的。这个方法适合使用于开发和测试的环境中。
3) 如果你使用的type是JNDI,MyBatis将会从JNDI获取连接,数据资源一般会配置在应用程序的服务上。这个方法一般会用于生产的环境中。
- MyBatis的XML配置文件(一)
- mybatis学习总结-核心配置文件mybatis-config.xml(一)
- mybatis学习总结-核心配置文件mybatis-config.xml(一)
- mybatis学习总结-核心配置文件mybatis-config.xml(一)
- mybatis学习总结-核心配置文件mybatis-config.xml(一)
- MyBatis的XML配置文件(二)
- MyBatis的XML配置文件(三)
- 【SSM-MyBatis框架】Mapper.xml配置文件(mybatis的核心)
- MyBatis的xml配置文件笔记
- mybatis的mybatis-config.xml配置文件详解
- 【MyBatis】MyBatis-generator的配置文件 generatorConfig.xml
- Mybatis的mapper配置文件(一)
- Mybatis环境的xml配置文件的注意事项
- MyBatis的xml映射配置文件详解
- mybatis 的SqlMapConfig.xml配置文件(精华) 小结
- spring整合mybatis的applicationContext.xml配置文件
- MyBatis的SqlMapConfig.xml配置文件详解
- Mybatis的SqlMapConfig.xml配置文件模板
- HDU 5325 Crazy Bobo
- 开启MyBatis(三)工作原理
- 最短路程
- WebService—WSDL详解
- cocos2dx打包apk
- MyBatis的XML配置文件(一)
- 网页如何有效调用exe
- 234. Palindrome Linked List(重要)
- MAC下基于JAVA和Tomcat的微信二次开发环境配置
- Canny边缘检测算法
- react环境搭建
- ThinkPHP3.2.3 勾选子级自动选择父级
- win10激活的帖子
- python中%r和%s的区别