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

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

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

 2、在mybatis-conf.xml文件中引用jdbc.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>

	<!-- 引入 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





你可能感兴趣的:(优化MyBatis配置文件中的配置_3)