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

Mybatis 动态 SQL - script,bind,多数据库支持

script

在使用注解的映射器类中使用动态SQL时,可以使用`<script>`元素。例如:

 @Update({"<script>","update Author","  <set>","    <if test='username != null'>username=#{username},</if>","    <if test='password != null'>password=#{password},</if>","    <if test='email != null'>email=#{email},</if>","    <if test='bio != null'>bio=#{bio}</if>","  </set>","where id=#{id}","</script>"})void updateAuthorValues(Author author);
 bind

`<bind>`元素允许您将一个OGNL表达式的结果绑定到上下文中创建的变量上。例如:

<select id="selectBlogsLike" resultType="Blog"><bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />SELECT * FROM BLOGWHERE title LIKE #{pattern}
</select>
 多数据库支持

如果配置了`databaseIdProvider`,则可以在动态代码中使用一个名为`_databaseId`的变量,以此来根据数据库供应商构建不同的语句。请看下面的示例:

<insert id="insert"><selectKey keyProperty="id" resultType="int" order="BEFORE"><if test="_databaseId == 'oracle'">select seq_users.nextval from dual</if><if test="_databaseId == 'db2'">select nextval for seq_users from sysibm.sysdummy1"</if></selectKey>insert into users values (#{id}, #{name})
</insert>

 

http://www.lryc.cn/news/268863.html

相关文章:

  • Scikit-Learn线性回归(一)
  • Mybatis 动态 SQL - choose, when, otherwise
  • idea Spring Boot项目使用JPA创建与数据库链接
  • redis基础知识
  • 最短路径(数据结构实训)(难度系数100)
  • 基于SSM实现的电动汽车充电网点管理系统
  • Android ImageView如何使用.svg格式图片
  • 力扣热题100道-子串篇
  • day3--Shell
  • 【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序
  • TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性
  • 服务器数据恢复-误操作导致xfs分区数据丢失的数据恢复案例
  • 安装Kubernetes1.23、kubesphere3.4、若依项目自动打包部署到K8S记录
  • (三) `MaterializedMySQL`同步机制解读
  • 使用 stream 流构建树(不使用递归)
  • docker 部署 个人网页版 wps office
  • windows进行udp端口转发,解决项目中服务器收不到组播数据的问题
  • 抖音、小红书、视频号是如何判定是否限流的?
  • frida native hook 技术( frida hook so层函数)
  • SpringBoot运维(三)-- 多环境开发(yml多文件版)
  • Vue 修饰符有哪些
  • 哈希桶的模拟实现【C++】
  • 磁盘相关知识
  • FTP原理与配置
  • ios环境搭建_xcode安装及运行源码
  • C++ 151. 反转字符串中的单词
  • 腾讯云服务器如何买(购买腾讯云服务器的详细步骤)
  • 48道Linux面试题
  • (13)Linux 进程的优先级、进程的切换以及环境变量等
  • 数的分解(100%用例)C卷 (JavaPythonNode.jsC++)