优化MyBatis配置文件中的配置_3

来源:互联网 发布:罗马尼亚铁卫电影 知乎 编辑:程序博客网 时间:2024/05/17 22:13

一、连接数据库的配置单独放在一个properties文件中

  1、在src目录下新建一个jdbc.properties文件(使用到的数据库驱动,连接URL地址,用户名,密码)
driver=oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:@localhost:1521:HLXusername=scottpassword=hsx

 2、在mybatis-conf.xml文件中引用jdbc.properties文件,如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 引入 jdbc.properties 文件 --><properties resource="jdbc.properties" /><!--  development : 开发模式        work : 工作模式 --><environments default="development"><environment id="development"><!--配置事务管理,采用JDBC的事务管理 --><transactionManager type="JDBC" /><!-- 配置数据库连接信息 value属性值引用jdbc.properties配置文件中配置的值 --><!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 --><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><!-- 将mapper文件加入到配置文件中 --></configuration>

二、实体类定义别名,来简化sql映射xml文件中的引用

  在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下:
<select id="myid" parameterType="int" resultType="com.hlx.pojo.Userinfos"> select * from userinfos where id=#{id}</select>

  resultType="com.hlx.pojo.Userinfos"这里写的实体类Userinfos的全类名,每次这样繁琐,可以简化如下:
 <select id="myid" parameterType="int" resultType="_User"> select * from userinfos where id=#{id} </select>

但必须在mybatis-config.xml文件<configuration></configuration>配置如下:
  <!-- (a) Userinfos实体类对应一个别名 _User -->   <!-- 这就达到了一个简化实体类引用的目的。 -->      <typeAliases><typeAlias type="com.hlx.pojo.Userinfos" alias="_User" />      </typeAliases> 
除了上面这种方式单独为某一个实体类设置别名之外,我们还可以使用如下的方式批量为某个包下的所有实体类设置别名
<typeAliases>  <package name="com.hlx.pojo" /></typeAliases>
resultType="com.hlx.pojo.Userinfos"这里写的实体类Userinfos的全类名,每次这样繁琐,可以简化如下:
<!-- 简化resultType="com.hlx.pojo.Userinfos" 改为别名:Userinfos --><select id="myid" parameterType="int" resultType="Userinfos"> select * from userinfos where id=#{id}</select>
  说明: <package name="com.hlx.pojo" />包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
          比如com.hlx.pojo.Userinfos这个实体类的别名就会被设置成Userinfos





0 0