Mybatis动态SQL示例
时间:2022-07-22
本文章向大家介绍Mybatis动态SQL示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<if> 不用我说的吧 <where> 可以帮你处理AND和OR的问题 (比如查询的时候) <set> 可以帮你处理逗号的问题(比如更新数据的时候) <trim> 可以自定义处理符号,相当于上面两个的自定义版本 <foreach> 可以循环list数据(比如批量插入数据或者批量查询条件 IN) choose、when、otherwise 用于当某个条件出现时,直接选择一个即可。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xn2001.mapper.UserDao">
<insert id="save" useGeneratedKeys="true" keyProperty="id">
insert into user(id,name,age) values
(#{id},#{name},#{age})
</insert>
<insert id="insertForeach">
insert into user
(id,name,age) values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},
#{item.name},
#{item.age}
)
</foreach>
</insert>
<update id="updateUser" parameterType="com.xn2001.entity.User">
update user
<set>
<if test="name != null">
name = #{name},
</if>
<if test="age != null">
age = #{age}
</if>
</set>
where id = #{id}
</update>
<select id="selectById" resultType="com.xn2001.entity.User">
select * from user where id = #{id}
</select>
<select id="select" resultType="com.xn2001.entity.User">
select * from user
<where>
<if test="id != null">
id = #{id}
</if>
<if test="name != null">
and name = #{name}
</if>
<if test="age != null">
and age = #{age}
</if>
</where>
</select>
</mapper>
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释