在实际开发中,我们希望文件配置是分类配置存放,需要的时候引入即可。如果多文件的配置混合配置使用,那么对项目的后期维护将增加难度。

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

1、对于之前的配置我们是将数据库配置放置在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="123456" />
</dataSource>
</environment>
</environments> <mappers>
<!-- 注册userMapper.xml文件,
userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
<mapper resource="com/murong/mapping/userMapper.xml"/> <!-- 注册UserMapper映射接口--> <mapper class="com.murong.mapping.UserMapperI"/> </mappers>
</configuration>

2、现在我们把数据库连接的配置分离出来,单独放在一个配置文件中。即    db.properties  文件

  具体操作:在项目的src目录下新建一个db.properties文件,文件内容如下:

driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/mybatis
name=root
password=123456

3、在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>
<properties resource="db.properties"></properties>
<!-- 简化sql文件映射方式一 -->
<!--
<typeAliases>
<typeAlias type="com.murong.domain.User" alias="User"/>
</typeAliases>
-->
<!-- 简化sql文件映射方式二-->
<!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
<typeAliases>
<!-- 为实体类com.murong.domain.User配置一个别名_User -->
<!-- <typeAlias type="com.murong.domain.User" alias="_User"/> -->
<!-- 为com.murong.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
比如com.murong.domain.User这个实体类的别名就会被设置成User
-->
<package name="com.murong.domain"/>
</typeAliases>
<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="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注册userMapper.xml文件,
userMapper.xml位于com.murong.mapping这个包下,所以resource写成com/murong/mapping/userMapper.xml-->
<mapper resource="com/murong/mapping/userMapper.xml"/> <!-- 注册UserMapper映射接口-->
<!--
<mapper class="com.murong.mapping.UserMapperI"/>
-->
</mappers>
</configuration>

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

  之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下:

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

  parameterType="com.murong.domain.User"这里写的实体类User的全类名com.murong.domain.User,每次都写这么一长串内容挺麻烦的,而我们希望能够简写成下面的形式

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

  为了达到这种效果,我们需要在conf.xml文件中为实体类="com.murong.domain.User"定义一个别名为"User",具体做法如下:
  在conf.xml文件中<configuration></configuration>标签中添加如下配置:

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

<package name="com.murong.domain"/>就表示为这个包下面的所有实体类设置别名。MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名,比如com.murong.domain.User这个实体类的别名就会被设置成User。

MyBatis入门学习(三)的更多相关文章

  1. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  2. MyBatis入门学习(二)

    在MyBatis入门学习(一)中我们完成了对MyBatis简要的介绍以及简单的入门小项目测试,主要完成对一个用户信息的查询.这一节我们主要来简要的介绍MyBatis框架的增删改查操作,加深对该框架的了 ...

  3. mybatis入门系列三之类型转换器

    mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名, ...

  4. SCARA——OpenGL入门学习三

    OpenGL入门学习[三] 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用 ...

  5. 记录21.08.04 — mybatis入门学习

    mybatis入门 mybatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工 ...

  6. MyBatis入门学习(一)

    一.MyBatis入门简要介绍(百科) MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyB ...

  7. mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析

    一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) settings(全局配置参数) typeAiases(类型别名) typeHandlers(类型处理器 ...

  8. MyBatis入门学习教程-Mybatis3.x与Spring4.x整合

    一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...

  9. MyBatis入门学习教程-调用存储过程

    一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_incr ...

随机推荐

  1. jsp页面格式时间yy-mm-dd

    这个问题把我花了1小时都没弄出来  各种报错  还是最后同学告知才知道的. 导入  :<%@ taglib uri="http://java.sun.com/jsp/jstl/func ...

  2. NRF24L01--使用STM32F103

    看了两天的24l01的相关资料了,一直有点模糊,今天下午感觉有点懂了,在板子上调试成功了,但是还没进行通讯测试.stm32和arduino进行通信还没成功 ,:( 先把stm32的NRF24L01配置 ...

  3. Windows Phone 8.1 新特性 - 控件之FlipView

    本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图. 虽然听起来有点拗口,但是它的用途大家一定不会陌生.在 Windows Phone 8 ...

  4. enum与字符串转换

    public enum CacheControlMode { DisableCache, UseExpires } string s = CacheControlMode.UseExpires.ToS ...

  5. storm入门(一):storm编程框架与举例

    基础 http://os.51cto.com/art/201308/408739.htm   模型 http://www.cnblogs.com/linjiqin/archive/2013/05/28 ...

  6. MFC程序中使用调试宏ASSERT()、ASSERT_VALID()、VERIFY()和TRACE()的区别

    其实这篇文章说的很明白了:http://dev.gameres.com/Program/Other/DebugMacro.htm 结论如下: 1.ASSERT()测试它的参数,若参数为0,则中断执行并 ...

  7. mysql用户权限设置

    1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost identified by &quo ...

  8. 给VM中的RHEL6.5配置本地源

    二步:1.启动时自动挂载安装盘:2.增加一个".repo"(或者改掉原来的源的配置p.s.除非你以后都不想用网络源或者已经知道如何更改源的配置,否则别改) 首先,在/media中创 ...

  9. MSP430单片机的位操作

    MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而R ...

  10. Happy Programming Contest(ZOJ3703)(01背包+路径储存)

    Happy Programming Contest  ZOJ3703 老实说:题目意思没看懂...(希望路过的大神指点) 最后那个the total penalty time是什么意思啊!!! 还是学 ...