配置头信息
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
configuration配置的顺序如下
1、 properties属性
2、 settings设置
3、 typeAliases类型命名
4、 typeHandlers类型处理器
5、 objectFactory对象工厂
6、 plugins插件
7、 environments环境
a。 environmen环境变量
I. transactionManager事物管理器
II. dataSource数据源
8、 databaseIdProvider 数据库厂商标识
9、 mappers映射器
1、properties属性
作用:引入xxx.properties外部文件,文件格式为xxx=xxx
<properties resource="database.properties"> =====>引入外部文件(同级目录)
<property name="mapper.path" value="com.dsb.test.entity.dao"></property> ====>引入外部文件路径并重命名
</properties>
2、settings属性
作用: 改变mybatis的运行时行为
<settings>
<setting name="logImpl" value="LOG4J" /> ====>指定MyBatis所用的日志具体实现,未指定时将自动查找
</settings>
3、typeAliases属性
意义:仅在于用来减少类完全限定名的冗余。
<typeAliases>
<typeAlias alias="Test" type="com.dsb.test.Test" /> ====>为类取别名
<package name="com.dsb.test.bean" /> =====>指定包名,mybatis会自动搜索需要的java文件
</typeAliases>
4、typeHandlers属性
作用:将获取的值映射到java类型或者JDBC类型
<typeHandlers>
<typeHandler handler="org.mybatis.handler.DateTypeHandler" javaType="String" />
<typeHandler handler="org.mybatis.handler.DateTypeHandler" jdbcType="varchar" />
</typeHandlers>
5、objectFactory属性(一般很少用)
作用:实例化目标类
<objectFactory>
<propery name="id" value="test" />
</objectFactory>
6、plugins属性(一般很少用))
作用:类似拦截器的效果,可以实现在mybatis的整个运行流程中的某些指定位置进行拦截。
<plugins>
<plugin interceptor="org.mybatis.handler.MyPlugins">
<property name="id" value="123"/>
</plugin>
</plugins>
7、environments属性
作用:适应多种环境,有助于将sql映射应用于多用数据库中
<environments default="development"> ====>默认development
<environment id="development"> ====>默认development
<transactionManager type="JDBC"> ====>事物管理器
</transactionManager>
<dataSource type="POOLED"> ====>数据源
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
三种内建的数据源类型;
1、UNPOOLED: 每次被请求时打开和关闭连接
2、POOLED: 利用"池"的概念将JDBC连接对象组织起来,避免了创建新的连接实例时所必须的初始化和认证时间
3、JNDI: 为了能在如EJB或应用服务器这类容器中使用,容器可以集中在外部配置数据源,然后放置一个JNDI上下文的引用
8、databaseIdProvider属性
作用:可以根据不同的数据库厂商执行不同的语句
<databaseIdProvider type="DB_vendOR">
<property name="sql Server" value="sqlserver/>
<property name="DB2" value="db2"/>
<property name="MysqL" value="MysqL"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider>
9、mappers属性
作用:告诉mybatis去哪里找映射文件
<mappers>
<mapper resource="com/dsb/test/entity/dao/test1.xml>
<mapper class="com.dsb.test.entity.dao.testMapper2>
<mapper url="file:///com/dsb/test/entity/dao/test1.xml>
<package name="com.dsb.test.entity.dao">
</mappers>
简单配置
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="Student" type="com.dsb.test.entity.Student" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.MysqL.jdbc.Driver" />
<property name="url" value="jdbc:MysqL://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="test123" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/dsb/test/entity.dao/StudentMapper.xml" />
</mappers>
</configuration>
参考于:
https://www.cnblogs.com/lujiango/p/8630154.html
https://blog.csdn.net/yqynsmile/article/details/52807815