由于自己也在学习Mybatis中,所以顺序是由后往前写的先把最新学过的总结一次之后再写前面的顺序可能会有点乱,请各位见谅。
今天总结的是Mybatis中关于mybatis-config.xml的配置说明。在我们配置Mybatis的时候mybatis-config.xml这个文件是必不可少的,它通常都是一个固定的初始格式,之后根据需要自己添加东西。下面我们就来看一下它的配置步骤:
1.在你的项目中新建一个后缀为.xml的文件放在src文件夹下,名字随意但是需要记住这个文件是Mybatis的配置文件(通常名字起为"mybatis-config.xml"这样一目了然)。
2.在Mybatis官网上的官方文档(http://www.mybatis.org/mybatis-3/zh/index.html)里找到入门选项,在其中我们可以找到完整的示例代码:
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<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>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
其中:
<?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>:声明要使用别名的对象(全路径)用java注解的话可以使用@Alias注解声明
<environments>:声明在该标签内的环境变量,default表示默认的环境变量,一个environment表示 一个jdbc连接数据库,如果有很多数据库的话我们要用到不同的环境变量
<environment>:声明环境变量
<transactionManager>:声明事务管理器 它的类型(type)有:JDBC(基于jdbc的事务) 还MANAGED(托管的事务)
<dataSource>:声明数据源,数据源的类型有NOPOOLED ,POOLED ,还有JIDN,在数据量少的话用ONPOOLED,测试和开发过程一般用POOLED,实际运行使用JIDN
<property>:jdbc连接的一些属性
<mappers>:声明我们定义的一个个Mapper类,或者说是关联
<mapper>:声明Mapper的路径
那么除了上面的标签之外还有哪些标签呢?下面在一个看看比较常用的其他标签
<Settings>:声明一些全局变量的
<properties>:声明属性文件的key和value,但是如果使用了.properties文件将会被覆盖。
<typeHandlers>:自定义我们的传入参数类型处理器,需要extends BaseTypeHandler<自定义响应的类型>
基本配置完之后我们还要引用properties,properties的引用有两种方式:
1.引入外部properties方式获取连接信息
即<properties resource="(jdbc的配置文件)"></properties>
2.直接将连接信息写在Mybatis的配置文件中:
<properties>
<property name="jdbc_driverClassName" value="(驱动包)"/>
<property name="jdbc_url" value="(数据库地址)"/>
<property name="jdbc_username" value="(数据库用户名)"/>
<property name="jdbc_password" value="(数据库密码)"/>
</properties>
之后我们也可以通过<typeAliases>来设置类型别名,类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。同样的,设置方式有两种:
1.给类型起别名
<typeAliases>
<typeAlias alias="别名" type="类型地址"/>
</typeAliases>
2.采用包名获取类型,在引入的时候必须是包下面的类名
<typeAliases>
<package name="包名"/>
</typeAliases>
在Mybatis配置文件中关于mappers的引用有三种方式:
1. <!--引入xml方式(路径)
<mapper resource="com/mappers/XXXMapper.xml"/>
-->
2.<!-- 引入接口方式(全类名)
<mapper class="com.mappers.XXXMapper"/>
-->
3.<!-- 配置包的方式(直接去包下面去引入相关xml) -->
<package name="com.mappers"/>
本次就先总结到这里,写的不好请多多原谅,下一次准备讲解关于XXXMapper.xml以及它的同名接口的相关知识。谢谢