当前位置: 首页 > news >正文

白山网站设计系统开发北京网站建设

白山网站设计,系统开发北京网站建设,seo 网站排名,建设工程施工许可证查询网站系列文章目录 1、mybatis简介及数据库连接池 2、mybatis中selectOne的使用 3、mybatis简单使用 4、mybatis中resultMap结果集的使用 Mybatis实用教程之XML实现动态sql 系列文章目录前言1. 动态条件查询2. 动态更新语句3. 动态插入语句4、其他标签的使用 前言 当编写 MyBatis 中…

系列文章目录

1、mybatis简介及数据库连接池
2、mybatis中selectOne的使用
3、mybatis简单使用
4、mybatis中resultMap结果集的使用


Mybatis实用教程之XML实现动态sql

  • 系列文章目录
  • 前言
  • 1. 动态条件查询
  • 2. 动态更新语句
  • 3. 动态插入语句
  • 4、其他标签的使用


前言


当编写 MyBatis 中复杂动态 SQL 语句时,使用 XML 格式是一种非常灵活的方式。这样做可以根据不同条件动态生成 SQL 查询,更新或删除语句。以下是一篇简要的教程,详细介绍如何使用 MyBatis XML 来编写动态 SQL。

1. 动态条件查询

假设有一个 User 实体,有 idusernameemail 字段,我们希望根据不同条件查询用户信息。

<!-- 在 Mapper XML 文件中编写动态 SQL 查询 -->
<select id="selectUsers" resultType="User">SELECT * FROM users<where><if test="id != null">AND id = #{id}</if><if test="username != null and username != ''">AND username = #{username}</if><if test="email != null and email != ''">AND email = #{email}</if></where>
</select>
  • <where> 标签用于将动态生成的条件组合到 WHERE 子句中。
  • <if> 标签根据条件的存在与否来动态生成查询条件。

上面的方法可以根据id、username、email进行条件查询,当test后面的语句为true的时候,会将if标签内的语句拼接。

2. 动态更新语句

假设我们想根据不同的条件更新用户信息。

<!-- 在 Mapper XML 文件中编写动态 SQL 更新 -->
<update id="updateUser" parameterType="User">UPDATE users<set><if test="username != null">username = #{username},</if><if test="email != null">email = #{email},</if></set>WHERE id = #{id}
</update>
  • <set> 标签用于指定要更新的字段。
  • <if> 标签根据条件动态设置要更新的字段。

3. 动态插入语句

如果要根据不同情况插入不同的字段,也可以使用动态 SQL。

<!-- 在 Mapper XML 文件中编写动态 SQL 插入 -->
<insert id="insertUser" parameterType="User">INSERT INTO users<trim prefix="(" suffix=")" suffixOverrides=","><if test="id != null">id,</if><if test="username != null and username != ''">username,</if><if test="email != null and email != ''">email,</if></trim><trim prefix="VALUES (" suffix=")" suffixOverrides=","><if test="id != null">#{id},</if><if test="username != null and username != ''">#{username},</if><if test="email != null and email != ''">#{email},</if></trim>
</insert>
  • <trim> 标签用于动态设置插入的字段和对应的值,当trim标签内的内容为空时,不会添加前缀。
  • prefixsuffix 属性用于指定插入语句的前缀和后缀。
  • suffixOverrides 属性用于去除最后一个不必要的逗号。

4、其他标签的使用

基础的语法使用如下所示。choose、when、otherwise 有点像if-else if -else的感觉

<!-- 使用 choose、when、otherwise 标签实现条件选择 -->
<select id="getUserByIdOrUsername" resultType="User">SELECT * FROM users<where><choose><when test="id != null">AND id = #{id}</when><when test="username != null and username != ''">AND username = #{username}</when><otherwise>AND 1=1</otherwise></choose></where>
</select><!-- 使用 foreach 标签进行遍历操作 -->
<select id="getUsersByIdList" resultType="User">SELECT * FROM usersWHERE id IN<foreach collection="ids" item="id" open="(" separator="," close=")">#{id}</foreach>
</select>
http://www.yayakq.cn/news/672966/

相关文章:

  • 网站推广营销活动多张图片排版设计欣赏
  • 做国际贸易网站哪家好安康做网站公司
  • 工装网站建设方案单机游戏网页版
  • 在门户网站上做推广建设旅游网网站软件
  • 网站设计与建设word设计理念php禁止ip访问网站
  • 免费发布信息网站雄安智能网站建设电话
  • 深圳市住房城乡建设局网站wordpress字体更换
  • 网站设计网页的优缺点网络推广外包公司排名
  • 非凡网站建设 新三板钓鱼网站盗号
  • 杭州网站建设 双收培训美工设计师
  • p2p网站开发用什么平台火狐显示网站开发
  • 怎么样查看网站开发语言高端网站建设与发展
  • xampp做网站可以吗wordpress公众号管理员
  • 优化网站的目的惠州seo外包公司
  • 超级大气的一款工作室网站制作网络科技公司站点源码直接可用网站空间类型
  • 成都 网站备案 幕布拍摄点wordpress手机浏览评论
  • 网站店铺的图片怎么做的seo网站自动发布外链工具
  • 郴州网站建设软件定制开发平台厦门推广平台较好的
  • php网站设置如何使用专业自助建站
  • 广州番禺营销型网站代运营报价
  • 怎么做口子推广网站百度关键词排名推广工具
  • 公司网站建设上海找谁企业展厅建筑设计
  • 息烽县住房和城乡建设局网站家里公网宽带做网站要备案么
  • 建一个com网站要多少钱汕头新导网络公司
  • 律师事务所网站建设方案wordpress文章选项
  • 做网站的windowlcd官方网站下载微信
  • 怎么开发一个网站英文版网站建设
  • 做网站公司长沙哪家好四川省工程项目建设投标发布网站
  • php培训机构企业做网站网吧服务员
  • 常州网站制作公司有哪些小程序开发费用明细怎么填