mybatis加入条件
根据http://www.cnblogs.com/friends-wf/p/3799315.html搭建的环境
User.xml加入的 if where判断的
<!-- 根据条件查询一个用户 --> <!-- 别名替代,简写-->
<select id="conditionOne" parameterType="string" resultType="aliasesUser">
select <include refid="cols"/> from user_c
<where>
<if test="name!=null">
and name like "%" #{name}"%"
</if>
<if test="age!=null">
and age=#{age}
</if>
</where>
</select>
<!-- 根据条件修改一个用户,当User对应的字段如果为空的话不更新,标签自动删除逗号 -->
<update id="updateConditionOne" parameterType="cn.itcast.domain.User" >
update user_c
<set>
<if test="name!=null">
name=#{name},
</if>
<if test="age!=null">
age=#{age},
</if>
<if test="address!=null">
address=#{address},
</if>
</set>
where id=#{id}
</update>
测试
@Test
public void testConditionOne()
{
User u=new User();
u.setName("wf");
SqlSession session=sqlSessionFactory.openSession();
User user=session.selectOne("cn.itcast.mybatis.conditionOne", u);
System.out.println(user);
} @Test
public void testUpdateConditionOne()
{
SqlSession session=sqlSessionFactory.openSession();
User u=new User();
u.setId("1");
u.setAddress("USAaaaaa");
int count=session.update("cn.itcast.mybatis.updateConditionOne", u);
session.commit();
System.out.println(count);
}
mybatis加入条件的更多相关文章
- MyBatis 判断条件为等于的问题
在用MyBatis操作数据库的时候相信很多人都用到,当在判断null, 大于,大于等于,小于,小于等于,不等于时估计很多都用到,比较容易实现了,这里就省略了,但唯独判断条件为等于时估计蛮多人遇到坑了, ...
- Mybatis多条件查询
在Mybatis多条件查询中: 1.参数如果是多条件,则需要将将添加到Map集合中进行传入. 2.就是将其参数用有序数字进行代替. Mybatis单个String类型参数传递 mysql文如下,传入参 ...
- mybatis 按照条件查询
mybatis 按照条件查询 @Autowired private StudentMapper studentMapper; @Override public Map getStudentList(i ...
- MyBatis 判断条件为等于的时候,常量需要加 .toString()
当MyBatis 判断条件为等于的时候,常量需要加 .toString() 来转换,这种方法是稳定的,推荐使用,比如: <!-- 正确的,稳定,推荐使用 --> <if test=& ...
- 【备忘】mybatis的条件判断用<choose>
mybatis并没有if..else,在mybatis的sql mapper文件中,条件判断要用choose..when..otherwise. <choose> <when t ...
- MyBatis动态条件、一对多、整合spring(二)
输入映射和输出映射 Mapper.xml映射文件定义了操作数据库的sql,每一个sql是一个statement,映射文件是mybatis的核心. parameterType输入类型 1.传递简单类型 ...
- MyBatis参数条件查询传入的值为0时的判断
MyBatis条件查询对字段判断是否为空一般为: <if test="testValue!=null and testValue != ''"> and test_va ...
- SSM整合 mybatis多条件查询与分页
多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...
- Mybatis实现条件查询(三)
1. 准备 请先完成Mybatis基本配置(一)的基本内容 2. 疑问 我们再Mybatis基本配置(一)中实现了按照商品ID进行查询商品信息,可是在实际应用中却很少出现根据ID来查询商品的情况.因为 ...
随机推荐
- 【二分】【三分】【计算几何】XIII Open Championship of Y.Kupala Grodno SU Grodno, Saturday, April 29, 2017 Problem L. Lines and Polygon
题意:给你一个凸多边形,和多次询问,每次询问给你一条直线,问你这条直线与凸包上的顶点的最近距离是多少. 记当前询问的直线的斜率为K, 先找到与这条直线距离最远的两个点: 就把凸包所有的边当做有向直线进 ...
- 【贪心】AtCoder Grand Contest 018 B - Sports Festival
假设我们一开始选取所有的运动项目,然后每一轮将当前选择人数最多的运动项目从我们当前的项目集合中删除,尝试更新答案.容易发现只有这样答案才可能变优,如果不动当前选取人数最多的项目,答案就不可能变优. 我 ...
- python基础之递归,匿名,内置函数
递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯 ...
- centos yum命令报错
Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Could not retriev ...
- HttpClient中文乱码问题排查
可以尝试一下方法解决: 1. httpPost.setHeader("Content-Type", "application/json; charset=UTF-8&qu ...
- GDB的一些技巧
查看栈信息 bt info stack 查看源程序 list ctrl + x + a 分屏调试,上半部分显示代码,下半部分显示调试信息. 查看内存 p xxxptr@n 查看xxxptr 指针内 ...
- JavaMail入门:创建纯文本、HTML格式的邮件
转自:http://haolloyin.blog.51cto.com/1177454/353849/ 在 http://java.sun.com/products/javamail/ 下载了 Java ...
- C#之Enum中的Flag
我们知道在默认情况下,第一个枚举数的值为0,后面每个枚举数的值一次加1. enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; 我们也可以用初始值来重写默认值. ...
- 如何破解linux用户帐号密码一
ENCRYPT_METHOD SHA512 定义帐号密码的加密方式 1.第一步拿到散列,也就是加密后的密码hash值 2.可以去一些彩虹表(rainbow)网站查询这些hash对应的密码明文,稍微花些 ...
- go语言基础之iota枚举
1.iota (在常量的时候,当成枚举使用) 示例1 package main import "fmt" func main() { //1.iota常量自动生成器,每个一行,自动 ...