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

一、对于连接数据库的配置单独放在一个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. 一个书店管理系统java

    自己的第一个小程序 ps:书是在集合里面后面文件处理的有一点小问题,希望有人会给点意见 //客户类 import java.io.Serializable; public class Customer ...

  2. [转]双数组TRIE树原理

    原文名称: An Efficient Digital Search Algorithm by Using a Double-Array Structure 作者: JUN-ICHI AOE 译文: 使 ...

  3. MVC文件上传和下载

    1.单个文件上传 HTML写法:form表单中加enctype="multipart/form-data" <form aciont="" method= ...

  4. ros学习笔记 - 深度传感器转换成激光数据(hector_slam)

    前提条件:1,确保读者已经安装了kinect或者其他深度摄像头的驱动,如果未安装,可以直接在网盘下载:http://pan.baidu.com/s/1hqHB10w 提取密码:wrmn 利用深度相机仿 ...

  5. CSS 自定义字体

    移动端如何兼容UI给的字体 [toc] 移动端的默认字体 IOS 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue Android 默认中文字 ...

  6. Oracle case when的用法

    select xm,sex,(case sex when '男' then '1' when '女' then '2' end ) as xb, birthdayfrom student

  7. First Missing Positive && missing number

    https://leetcode.com/problems/first-missing-positive/ 我原以为数组中不会有重复的数字,所以利用min.max分别记录给定数组中出现的最小正整数和最 ...

  8. rails4.2~devise邮箱测试

    1.由于网站无需验证,只需一封欢迎邮件,在config/intiailzers/devise.rb里面配置 config.allow_unconfirmed_access_for = nil #2.d ...

  9. TestNG教程

    TestNG教程 http://www.yiibai.com/testng/2013/0916311.html TestNG,3种执行方式: 1.ant(build.xml) 2.Eclipse(安装 ...

  10. Ubuntu/Linux 下pdf阅读器Zathura(类vim操作)

    Ubuntu下源安装: sudo apt-get install zathura 操作总结: 基本操作与vim一致,对于熟悉vim快捷键的十分方便: 向下移动一页是J(Ctrl+f),向上移动一页是K ...