mybatis xml文件中一些标签的使用

  1. 此标签主要用作 配置 "别名"

    如果实体类与数据库中字段名在不区分大小写的情况下相同的话,

    那就不需要配置resultMap,因为mysql数据库不区分大小写,所以可以直接映射上

    但是如果实体类与数据库中字段名不相同的话,我们可以由三个解决方案

    1. 直接修改数据库字段名,使之与实体类对应上
    2. 在程序中配置文件中对sql语句改造,起别名,使之与实体类映射上 (直接操作sql语句效率更高)

      如: select gender as usergender,age as userage from user;
    3. 写配置文件 resultMap,使之映射上,但是需要修改resultType="com.mybatis.entry.User" 为 resultMap="userMap" (方便)
 <resultMap id="userMap" type="com.mybatis.entry.User">
<!--首先配置主键对应-->
<id column="uid" property="userUid"></id>
<!--其他属性配置-->
<result column="username" property="userName"></result>
<result column="gender" property="userGender"></result>
<result column="age" property="userAge"></result>
</resultMap>

2.typeAliases 标签

主要作用是起别名, 便于开发中简化一些文字

其中typeAlias的作用 :type指定类,alias指定别名

如这里修改了User.class的名字为user,  则在User.xml中的com.mybatis.entry.User全部可以改成user  或者 他的任意大小写形式,这里不区分大小写的
package的作用: 指定包,该包下所有的类都建立的别名,别名默认为该类的小写形式,同样不区分大小写
    <typeAliases>
<!-- <typeAlias type="com.mybatis.entry.User" alias="user"></typeAlias>-->
<package name="com.mybatis.entry"></package>
</typeAliases>

3.

<mappers>
<mapper resource="com/mybatis/dao/IUserDao.xml"></mapper>
<!--package 指定dao接口所在的包,当指定后不需要再写mapper以及resource或者class了-->
<!-- <package name="com.mybatis.dao"></package>-->
</mappers>

4.假如包含多个条件时,可以使用标签的方式进行条件查询, 当包含出基本实体类的其他条件时,可以新建一个实体类,将所需的条件全部放入其中,用新的实体类去进行条件的获取

<select id="findByCondition" parameterType="user"  resultType="user">
select * from user
<!-- 这里的userName 对应的也是实体类中的属性-->
<where>
<if test="userName!=null">
username=#{userName}
</if>
<if test="gender!=null">
and gender=#{gender}
</if>
</where>
</select> <!--多个id,新建实体类,传入id集合,并用foreach标签遍历ids-->
<select id="findByIds" parameterType="vo" resultType="user">
select * from user
<!-- 这里的userName 对应的也是实体类中的属性-->
<where>
<if test="ids !=null and ids.size()>0">
<foreach collection="ids" open=" uid in (" close=")" item="uid" separator=",">
#{uid}
</foreach>
</if>
</where>
</select>

5.当某sql语句重复出现,可以使用标签提取sql. 然后再语句中使用包含进来

 <!--提取sql语句,避免重复-->
<sql id="defaultUser" >
select * from user
</sql>
<!--获得所有用户列表-->
<!--<select id="getUsers" resultMap="userMap">-->
<select id="getUsers" resultType="com.mybatis.entry.User">
<include refid="defaultUser"></include>
// select * from user
</select>

最新文章

  1. python 处理CSV数据
  2. SQL Server 定时自动备份数据库
  3. iOS ViewController生命周期
  4. ContentProvider官方教程(1)何时用content provider
  5. django配置
  6. PowerShell 远程执行任务
  7. [ExtJS5学习笔记]第二十一节 Extjs5中使用config配置给ext.widget或者create方法传递参数
  8. 题解 P5315 【头像上传】
  9. Wcf传递的参数实际不为空,但是接收时显示为空。
  10. .net core2.x - Identity - 简介
  11. MySQL_优化
  12. jQuery 获取url中的参数
  13. day71 菜单的排序 点击被选中
  14. vs code编辑器使用教程指南
  15. 洛谷P3950 部落冲突(LCT)
  16. openURL调用其他程序(转)
  17. ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)
  18. SVN搭建(linux 7)
  19. MapReduce分区的使用(Partition)
  20. 一个DIV相对于另一个DIV定位

热门文章

  1. noi.ac #535 生成树
  2. Codeforces 1054D Changing Array 贪心+异或和
  3. vue 指示点的疑点拓展
  4. koa 基础(二十五)数据库 与 art-template 模板 联动 --- 新增数据
  5. ubuntu 18.04 64bit下如何源码编译安装anbox
  6. JavaScript 格式化数字成金额格式
  7. vs2010 SetUp 安装软件时,界面出现乱码的问题
  8. jmeter beanShell修改http请求参数
  9. POJ 1182-食物链 [并查集] 《挑战程序设计竞赛》2.4
  10. TYPES与DATA区别