关于mybatis:Mybatis配置解析

8次阅读

共计 1679 个字符,预计需要花费 5 分钟才能阅读完成。

外围配置文件

MyBatis 外围配置文件 mybatis-config.xml 蕴含了会深深影响 MyBatis 行为的设置和属性信息。

  1. 环境变量(environments)
    Mybatis 能够配置多套环境,dev,test,prod 等然而每个 sqlSessionFactory 实例只能抉择一种环境。
    Mybatis 默认的事务管理器是 JDBC,连接池是 POOLED

    <environments default="dev">
     <environment id="dev">
         <transactionManager type="JDBC"/>
         <dataSource type="POOLED">
             <property name="driver" value="com.mysql.jdbc.Driver"/>
             <property name="url" value="jdbc:mysql://127.0.0.1:3306"/>
             <property name="username" value="root"/>
             <property name="password" value="xxx"/>
         </dataSource>
     </environment>
     <environment id="test">
         <transactionManager type="JDBC"/>
         <dataSource type="POOLED">
             <property name="driver" value="com.mysql.jdbc.Driver"/>
             <property name="url" value="jdbc:mysql://127.0.0.1:3306"/>
             <property name="username" value="ro11ot"/>
             <property name="password" value="x11xx"/>
         </dataSource>
     </environment>
    </environments>
  2. 属性(properties)
    可通过 properties 属性来实现援用配置文件,这些属性能够在内部进行配置且可动静替换,既能够在典型的 Java 属性文件中配置,也能够在 properties 元素的子元素【db.properties】中设置。
    db.properties,可在外围配置文件中引入该内部文件

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

    能够间接引入内部文件,或者在其中减少一些属性配置,如果两个文件有同一个字段,优先应用内部配置文件的

    <!-- 引入内部配置文件 -->
    <properties resource="db.properties">
     <property name="username" value="root"/>
     <property name="password" value="1xxxxx"/>
    </properties>
  3. 类型别名(typeAliases)
    形式一:类型别名是为 java 类型设置一个短的名字,意义在于升高冗余的全限定类名书写。

    <!-- 能够给实体类起别名 -->
    <typeAliases>
     <typeAlias type="com.sunfl.pojo.User" alias="User"/>
    </typeAliases>

    形式二:也能够指定一个包名,MyBatis 会在包名上面搜寻须要的 Java Bean。
    扫描实体类的包,它的默认别名就为这个类的类名,首字母小写。

    <!-- 能够给实体类起别名 -->
    <typeAliases>
     <package name="com.sunfl.pojo"/>
    </typeAliases>

    在实体类比拟少的时候,应用第一种形式;如果实体类非常之多,倡议应用第二种;第一种能够 DIY 别名,第二种则不行,如果非要改,须要在实体类上减少注解。

    @Alias("helloUser")
    public class User {}
    <select id="getUserList" resultType="helloUser">
     select * from mybatis.user
    </select>
正文完
 0