MyBatis学习总结(三)——优化MyBatis配置文件中的配置

转载 2016年08月31日 11:49:35

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

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

  之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4     <environments default="development">
 5         <environment id="development">
 6             <transactionManager type="JDBC" />
 7             <!-- 配置数据库连接信息 -->
 8             <dataSource type="POOLED">
 9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16     
17 </configuration>
复制代码

  其实我们完全可以将数据库的连接配置信息写在一个properties文件中,然后在conf.xml文件中引用properties文件,具体做法如下:

  1、在src目录下新建一个db.properties文件,如下图所示:

  

  在db.properties文件编写连接数据库需要使用到的数据库驱动,连接URL地址,用户名,密码,如下:

1 driver=com.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis
3 name=root
4 password=XDP

  2、在MyBatis的conf.xml文件中引用db.properties文件,如下:

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4 
 5     <!-- 引用db.properties配置文件 -->
 6     <properties resource="db.properties"/>
 7     <!-- 
 8         development : 开发模式
 9         work : 工作模式
10      -->
11     <environments default="development">
12         <environment id="development">
13             <transactionManager type="JDBC" />
14             <!-- 配置数据库连接信息 -->
15             <dataSource type="POOLED">
16                 <!-- value属性值引用db.properties配置文件中配置的值 -->
17                 <property name="driver" value="${driver}" />
18                 <property name="url" value="${url}" />
19                 <property name="username" value="${name}" />
20                 <property name="password" value="${password}" />
21             </dataSource>
22         </environment>
23     </environments>
24     
25 </configuration>
复制代码

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

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

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

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

<insert id="addUser2" parameterType="_User">
    insert into users(name,age) values(#{name},#{age})
</insert>

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

<typeAliases>
    <typeAlias type="me.gacl.domain.User" alias="_User"/>
</typeAliases>

  这样就可以为me.gacl.domain.User类定义了一个别名为_User,以后_User就代表了me.gacl.domain.User类,这样sql映射xml文件中的凡是需要引用me.gacl.domain.User类的地方都可以使用_User来代替,这就达到了一个简化实体类引用的目的。

  除了可以使用<typeAlias type="me.gacl.domain.User" alias="_User"/>这种方式单独为某一个实体类设置别名之外,我们还可以使用如下的方式批量为某个包下的所有实体类设置别名,如下:

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

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

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

一、连接数据库的配置单独放在一个properties文件中   之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 xml version="...
  • qq_27376871
  • qq_27376871
  • 2016年05月16日 16:26
  • 1173

MyBatis学习笔记(四)优化MyBatis配置文件中的配置

转载自:MyBatis之优化MyBatis配置文件中的配置MyBatis配置文件很重要,首先我们来看看MyBatis配置文件中的内容和顺序:(属性)(全局配置参数)(类型别名)(类型处理器)(对象工厂...
  • Slow_Wakler
  • Slow_Wakler
  • 2017年02月09日 13:51
  • 656

MyBatis学习总结(一)——MyBatis快速入门

一、Mybatis介绍    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBati...
  • hejingyuan6
  • hejingyuan6
  • 2015年09月22日 20:02
  • 2111

myBatis性能优化

官方doc文档 http://www.mybatis.org/mybatis-3/configuration.html#settings 最近测试发现个myBatis 有个比较严重的性能问题, ...
  • happyrabbit456
  • happyrabbit456
  • 2017年01月10日 16:05
  • 266

mybatis学习总结-核心配置文件mybatis-config.xml(一)

http://ju.outofmemory.cn/entry/94633 之前完成了一个mybatis的CRUD操作进行了最基本的体验。 回顾一下mybatis的步骤: 1)核心...
  • u012506661
  • u012506661
  • 2016年11月04日 20:09
  • 2881

MyBatis配置文件中的常用配置

一、连接数据库的配置单独放在一个properties文件中   之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 xml version="1.0...
  • zbw18297786698
  • zbw18297786698
  • 2016年12月17日 14:12
  • 1733

mybatis配置文件常用的标签

1.properties 使用${}引用properties文件属性 这里注意:如果使用properties...
  • qwkxq
  • qwkxq
  • 2016年11月30日 20:30
  • 1322

MyBatis技术总结

还没有汇总完毕,上传测试下效果.
  • Charles_7c
  • Charles_7c
  • 2017年03月21日 21:24
  • 555

Spring-Mybatis配置文件基本配置

Edit SpringMvc与Mybatis集成,配置文件的基本配置 web.xml基本配置 !- 自动扫描Spring的配置文件,完成Spring的加载 的上下文参数声明应用范围内的...
  • u012104435
  • u012104435
  • 2016年01月22日 18:11
  • 2456

Mybatis的配置文件和映射文件详解

一、Mybatis的全局配置文件 1、SqlMapConfig.xml是mybatis的全局配置文件,配置内容如下: properties(属性) settings(全局配置参数) typeAlias...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2017年03月27日 10:44
  • 6208
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MyBatis学习总结(三)——优化MyBatis配置文件中的配置
举报原因:
原因补充:

(最多只允许输入30个字)