MyBatis的学习总结三:优化MyBatis配置文件中的配置

一、优化Mybatis配置文件conf.xml中数据库的信息

                

  1、添加properties的配置文件,存放数据库的信息:mysql.properties具体代码:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://172.32.231.206:3306/edihelper
username=root
password=joyplus_edi

  2、在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>
    <!-- 引入配置文件 -->
    <properties resource="mysql.properties"/>
   
    <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="com/cn/mybatis/mapper/taskMapper.xml"/>
        <mapper class="com.cn.mybatis.mapper.ITaskMapper"/>
        <mapper resource="com/cn/mybatis/mapper/taskDetailMapper.xml"/>
    </mappers>
    
</configuration>

二、优化,SQL映射文件中resultType引入的实体类

  之前的引入:

<select id="getAllTask" parameterType="String" resultType="com.cn.mybatis.model.EdiTestTask">
        select * from edi_test_task where task_id=#{taskId}
    </select>
resultType="com.cn.mybatis.model.EdiTestTask" 每次引入要写这么长,很麻烦,如果可以写成  resultType="EdiTestTask" 就简单多了。要实现这样的效果,需要在conf.xml中为实体类添加别名:
<typeAliases>
        <typeAlias type="com.cn.mybatis.model.EdiTestTask"/>
      
    </typeAliases>

不过,这样配置只是为某一个类起了别名,其他类引入映射文件文件中还是很麻烦,为了使全部的实体类都可以简单引入,可以这样配置:

<typeAliases>
       <package name="com.cn.mybatis.model"/>  <!--将存放实体类的包配置别名,该包下面所有实体类都配置了别名-->
    </typeAliases>

 三、表字段和实体类的变量不一致解决之法:

  解决办法一通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系的。

  解决办法二通过<resultMap>来映射字段名和实体类属性名的一一对应关系。这种方式是使用MyBatis提供的解决方式来解决字段名和属性名的映射关系的。

原文地址:https://www.cnblogs.com/renxiaoren/p/5242884.html