MyBatis环境搭建之文件配置

一 XML核心文件配置

XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)。

配置XML,首先引入头部的声明:

<?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">

然后配置XML的智能提示,在浏览器中输入http://mybatis.org/dtd/mybatis-3-config.dtd,下载dtd文件;在eclipse中Window>Preferences>XML>XMl Catalog,选择User Specified Entries,点击Add,在Location中,点击file system选择下载好的dtd所在的位置;Key type选择URI,Key中输入上面的网址http://mybatis.org/dtd/mybatis-3-config.dtd,OK保存,然后重启XML文档,看看是否可以智能提示。

接下来配置核心文件,在头部代码后插入

<configuration>
<!--配置默认的环境信息,default中指定了那个数据库生效-->
<environments default="development">
<!--配置数据库的连接信息,id唯一指示这个数据库,可以有多个environment标签,表明有多个数据库,与environments标签的default配合使用-->
<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 头部的声明,用来验证 XML 文档正确性。environment 元素体中包含了事务管理和连接池的配置。mappers 元素则是包含一组 mapper 映射器(这些 mapper 的 XML 文件包含了 SQL 代码和映射定义信息)。

property标签中的属性值可外部配置且可动态替换,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。例如:

在配置文件中的environs标签之前添加如下代码:

<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="root"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>

注:鼠标光标停留在configuration标签上,注释中有:

Content Model : (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, 
objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)

表明configuration标签含有上述子标签,且子标签出现的顺序严格遵循注释中排列顺序。

新建一个config.properties文件,内容:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/web

配置文件中配置数据库连接信息

<dataSource type="POOLED">                          
    <!--加载驱动 -->                                    
    <property name="driver" value="${driver}" />    
    <!--数据库连接信息 -->                                 
    <property name="url" value="${url}" />          
    <!--用户名和密码 -->                                  
    <property name="username" value="${username}" />
    <property name="password" value="${password}" />
</dataSource>                                       

这个例子中的 username 和 password 将会由 properties 元素中设置的相应值来替换。 driver 和 url 属性将会由 config.properties 文件中对应的值来替换。这样就为配置提供了诸多灵活选择。

这样做有一些好处,比如解决数据库的中文乱码问题时,在url后面加上?useUnicode=true&characterEncoding=UTF-8

但是XML中不识别&、<等运算符,需要使用对应的转义字符&amp; &lt;  但是在属性文件中就可以不用理会这个问题。

扩展:在url后加上allowMultQueries=true,可以一次性执行多条sql语句,否则会报错。

二 配置映射文件

映射文件的配置跟XML核心文件类似,先引入头部声明

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

配置智能提示的方法与上述XML核心文件的智能提示配置方法相同。配置好后,在提示出的<mapper></mapper>标签中即可定制化SQL语句。

最后要在XML核心文件中的mapper标签中指定映射文件的路径,才能使映射文件生效。

原文地址:https://www.cnblogs.com/qingyaxuan/p/6390776.html