MyBatis学习总结(三)——优化MyBatis配置文件被的安排

一如既往、连接数据库的布局单独在一个properties文件中

  之前,我们是直接以数据库的接连配置信息写以了MyBatis的conf.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">
<configuration>
    <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/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="XDP" />
            </dataSource>
        </environment>
    </environments>

</configuration>

 其实我们全可以用数据库的连年配置信息写以一个properties文件被,然后在conf.xml文件中援引properties文件,具体做法如下:

  1、在src目录下新建一个db.properties文件,如下图所示:

  图片 1

  于db.properties文件编制连接数据库需要使用到之数据库让,连接URL地址,用户称,密码,如下:

1 driver=com.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis
3 name=root
4 password=XDP

 2、在MyBatis的conf.xml文件被援引db.properties文件,如下:

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

    <!-- 引用db.properties配置文件 -->
    <properties resource="db.properties"/>
    <!-- 
        development : 开发模式
        work : 工作模式
     -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <!-- value属性值引用db.properties配置文件中配置的值 -->
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${name}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>

</configuration>

 

仲、为实体类定义别名,简化sql映射xml文件被之援

  之前,我们以sql映射xml文件被的援实体类时,需要写及实体类的全类名(包名+类名),如下:

<!-- 创建用户(Create) -->
<insert id="addUser" parameterType="me.gacl.domain.User">
    insert into users(name,age) values(#{name},#{age})
</insert>

 parameterType=”me.gacl.domain.User“这里描绘的实体类User的全类名me.gacl.domain.User,老是都勾这么一加上串内容非常麻烦的,而我辈要能够简写成下面的花样

<insert id="addUser2" parameterType="_User">
    insert into users(name,age) values(#{name},#{age})
</insert>

  parameterType=”_User“这样勾画就简单多了,为了达成这种力量,我们得以conf.xml文件被吗实体类=”me.gacl.domain.User“定义一个变型叫吧”_User“,具体做法如下:
  以conf.xml文件中<configuration></configuration>标签中上加如下配置:

<typeAliases>
    <typeAlias type="me.gacl.domain.User" alias="_User"/>
</typeAliases>

  这样就足以呢me.gacl.domain.User类定义了一个扭转叫也_User,以后_User虽表示了me.gacl.domain.User看似,这样sql映射xml文件被的凡需要引用me.gacl.domain.User类似的地方还可行使_User来代替,这就是达成了一个简化实体类援的目的。

  除了可以下<typeAlias type=”me.gacl.domain.User” alias=”_User”/>这种艺术单独为有一个实体类设置别名之外,我们尚足以行使如下的艺术批量吧某某包下的所有实体类设置别名,如下:

<!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
    <typeAliases>
        <!-- 为实体类me.gacl.domain.User配置一个别名_User -->
        <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
        <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
        比如me.gacl.domain.User这个实体类的别名就会被设置成User
         -->
        <package name="me.gacl.domain"/>
    </typeAliases>

 <package
name=”me.gacl.domain”/>就表示为这包下的持有实体类设置别名。MyBatis默认的装置别名的方尽管是失去除类所当的包后底粗略的类名,比如me.gacl.domain.User这个实体类的号就会见被安装成User。

 

网站地图xml地图