mybatis 基础(二) xml文件中的其他知识点
mybatis xml文件中一些标签的使用
此标签主要用作 配置 "别名"
如果实体类与数据库中字段名在不区分大小写的情况下相同的话,
那就不需要配置resultMap,因为mysql数据库不区分大小写,所以可以直接映射上但是如果实体类与数据库中字段名不相同的话,我们可以由三个解决方案
- 直接修改数据库字段名,使之与实体类对应上
 - 在程序中配置文件中对sql语句改造,起别名,使之与实体类映射上  (直接操作sql语句效率更高)
如: select gender as usergender,age as userage from user; - 写配置文件 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>
												
											mybatis 基础(二) xml文件中的其他知识点的更多相关文章
- MyBatis 3在XML文件中处理大于号小于号(<>)的方法(转)
		
说明:以下方式支持XML和注解的方式. 一. 用了转义字符把>和<替换掉. AND start_date <= CURRENT_DATE AND end_date >= CUR ...
 - 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。  异步委托  微信小程序支付证书及SSL证书使用  SqlServer无备份下误删数据恢复  把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中  通过XDocument方式把List写入Xml文件
		
通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二). 前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...
 - (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
		
http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...
 - MyBatis Mapper.xml文件中 $和#的区别
		
MyBatis Mapper.xml文件中 $和#的区别 网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramN ...
 - mybatis xml 文件中like模糊查询
		
1.直接传参法 直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keyword%,然后直接作为参数传入mapper.xml的映射文件中. 2.CONCAT()函数 My ...
 - 去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告
		
https://blog.csdn.net/aubdiy/article/details/68485336 IntelliJ IDEA 打开 mybatis 的 xml 文件时,对应的 xml 文件中 ...
 - 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结
		
经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...
 - 【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】
		
处理大于小于号的方法: https://www.cnblogs.com/winner-0715/p/6132755.html 第一种方法:用转义字符把">"和"&l ...
 - mybatis中的map.xml文件中sql语句需要分号吗?
		
mybatis中的map.xml文件中sql语句需要分号吗? :你是说sql介绍的分号吗?不需要的
 
随机推荐
- 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)
			
学习DIP第35天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...
 - 2019牛客暑期多校训练营(第二场)E 线段树维护dp转移矩阵
			
题意 给一个\(n\times m\)的01矩阵,1代表有墙,否则没有,每一步可以从\(b[i][j]\)走到\(b[i+1][j]\),\(b[i][j-1]\),\(b[i][j+1]\),有两种 ...
 - vue子组件改变父组件的值
			
1 在父组件的coment绑定事件 <template> <div :class="classObj" class="app-wrapper" ...
 - JavaWeb-SpringBoot(抖音)_一、抖音项目制作
			
JavaWeb-SpringBoot(抖音)_一.抖音项目制作 传送门 JavaWeb-SpringBoot(抖音)_二.服务器间通讯 传送门 JavaWeb-SpringBoot(抖音)_三.抖音项 ...
 - Chrome 神器,神奇的技巧
			
谷歌开发者工具是前端日常不可缺少的神奇,写布局,找 bug,优化加载速度统统靠他.但是你真的了解他么?这篇文章是专门介绍谷歌浏览器各种好用小技巧的.不是什么长篇大论,旨在提高你的开发效率,早日完工回家 ...
 - Linux下Weblogic 11g R1安装和配置
			
自己留着好好看看! 文章摘自 :http://blog.163.com/ng_0125@126/blog/static/170162360201311773235995/ 1. 安装前 1 确定w ...
 - From 7.15 To 7.21
			
From 7.15 To 7.21 大纲 竞赛 一周七天, 总共做三十五到四十道题吧, 题解要一起写了, 周六之前写不完的话就只能回家补咯 加上考试题总共做了25道题... 还要学计算几何, 生成函数 ...
 - 「CF442C」 Artem and Array
			
题目链接 戳我 \(Solution\) 观察发现如果一个数两边都比他大,删掉他可以保证最优,这个应该是显然的.这个东西用单调栈维护一下,最后剩下的就是个单调递减或单调递增的数列,从小到大排个序取前面 ...
 - Zjoi2011看电影(movie)
			
第一步,打表找规律,发现自己的表连3的小样例都过不去,还不如自己手模,自己手跑了5以下的样例,然后发现毫无规律可言…… 第二步,想出一种错误做法,首先n>k必零,人比座都多……然后粘一下图: 基 ...
 - C++入门经典-例7.4-类的静态成员,我们共有一个地球
			
1:静态数据在程序开始时即获得空间,直到程序结束后才被收回.静态数据可以声明在函数体内,也可以声明在函数体外. 类中的静态成员与非静态成员有很大区别.从使用上来将,调用静态成员不需要实例化对象,而是以 ...