zoukankan      html  css  js  c++  java
  • 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标签中指定映射文件的路径,才能使映射文件生效。

  • 相关阅读:
    RabbitMQ核心组件及应用场景
    集群架构和CentOS7安装RabbitMQ集群(单机版)
    CentOS7下安装单机版RabbitMQ及权限赋予
    Spring事务管理
    java服务器图片压缩的几种方式及效率比较
    Spring中通过java的@Valid注解和@ControllerAdvice实现全局异常处理。
    go语言调度器源代码情景分析之三:内存
    go语言调度器源代码情景分析之二:CPU寄存器
    go语言调度器源代码情景分析之一:开篇语
    面试官:swoole 的认识和强大之处你不知道?回去吧!!!
  • 原文地址:https://www.cnblogs.com/qingyaxuan/p/6390776.html
Copyright © 2011-2022 走看看