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

  上文 连接数据库的配置写在 mybatisConf.xml中,本文直接放在 db.properties 中, 在mybatisConf.xml 中引用

mybatisConf.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>
<!-- 引用db.properties配置文件 -->
<properties resource="db.properties" /> <environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<!-- value属性值引用db.properties配置文件中配置的值 -->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments> <mappers>
<!--
注册userMapper.xml文件,
userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml
-->
<mapper resource="com/myl/mapping/userMapper.xml"/> <!-- 注册UserMapper映射接口-->
<mapper class="com.myl.mapping.UserMapperInter" />
</mappers> </configuration>

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

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mybatis
username=root
password=

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

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

userMapper.xml

<!-- 修改数据 -->
<update id="updateUser" parameterType="com.myl.entity.User">
update user set name=#{name},age=#{age},job=#{job},deptno=#{deptno},hdate=#{hdate} where id=#{id}
</update>

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

<!-- 修改数据 -->
<update id="updateUser" parameterType="_User">
update user set name=#{name},age=#{age},job=#{job},deptno=#{deptno},hdate=#{hdate} where id=#{id}
</update>

  parameterType="_User"这样写就简单多了,为了达到这种效果,我们需要在conf.xml文件中为实体类="me.myl.entity.User"定义一个别名为"_User",具体做法如下:

在mybatisConf.xml文件中<configuration></configuration>标签中添加如下配置:

<!-- 为实体类="me.myl.entity.User"定义一个别名为"_User" -->
<typeAliases>
<typeAlias type="com.myl.entity.User" alias="_User"/>
</typeAliases>

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

mybatis添加修改为

<typeAliases>
<!-- 为实体类="me.myl.entity.User"定义一个别名为"_User" -->
<!-- <typeAlias type="com.myl.entity.User" alias="_User"/> --> <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
比如me.gacl.domain.User这个实体类的别名就会被设置成User
-->
<package name="com.myl.entity" />
</typeAliases>

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

userMapper.xml则可修改为:

<!-- 修改数据 -->
<update id="updateUser" parameterType="User">
update user set name=#{name},age=#{age},job=#{job},deptno=#{deptno},hdate=#{hdate} where id=#{id}
</update>

最新文章

  1. 渗透日记-POST注入
  2. 有关Asp.net 中数据请求的处理的新认知:利用httpHandlers
  3. codeforces 499B.Lecture 解题报告
  4. iOS: imageIO完成渐进加载图片
  5. java学习面向对象之匿名内部类
  6. openstack api users list get token get servers
  7. 第三方:GDataXMLNode:xml解析库--备用
  8. Android学习----Android架构
  9. 更加详细的Log4net的配置
  10. 通过设计让APP变快的6个方法
  11. VS2015 C#6.0
  12. JSON数据转换方法 parse()和stringify()
  13. OpenGL---------光照的基本知识
  14. (转) Redis学习教程--基本命令
  15. Docker理解
  16. 【软件】关于Notepad++(32位)
  17. hadoop初学
  18. 设子数组A[0:k]和A[k+1:N-1]已排好序(0≤K≤N-1)。试设计一个合并这2个子数组为排好序的数组A[0:N-1]的算法。
  19. Google 的 OKR 制度与KPI 有什么不同?
  20. nfs的时间问题,影响编译

热门文章

  1. Android内存溢出、内存泄漏常见案例及最佳实践总结
  2. Supervisord 远程命令执行漏洞(CVE-2017-11610)
  3. 用Python预测双色球福利彩票中奖号码(请不要当真)
  4. netty系列之:netty中的Channel详解
  5. iptables中实现内外网互访,SNAT和DNAT
  6. mout -t -cifs 解析
  7. 栅栏密码(The Rail-Fence Cipher)详解
  8. 这才是做了五年Android开发该有的样子!
  9. 我,Android开发5年,32岁失业,现实给我狠狠上了一课!
  10. Shell-13-常用文件目录