MyBatis trim标签 您所在的位置:网站首页 sql语句中trim函数 MyBatis trim标签

MyBatis trim标签

2023-12-28 11:51| 来源: 网络整理| 查看: 265

在 MyBatis 中除了使用 if+where 实现多条件查询,还有一个更为灵活的元素 trim 能够替代之前的做法。 trim 一般用于去除 SQL 语句中多余的 AND 关键字、逗号,或者给 SQL 语句前拼接 where、set 等后缀,可用于选择性插入、更新、删除或者条件查询等操作。trim 语法格式如下。 SQL语句 trim 中属性说明如下。 属性 描述 prefix 给SQL语句拼接的前缀,为 trim 包含的内容加上前缀 suffix 给SQL语句拼接的后缀,为 trim 包含的内容加上后缀 prefixOverrides 去除 SQL 语句前面的关键字或字符,该关键字或者字符由 prefixOverrides 属性指定。 suffixOverrides 去除 SQL 语句后面的关键字或者字符,该关键字或者字符由 suffixOverrides 属性指定。 示例 本节示例基于《第一个MyBatis程序》一节的代码实现。 下面我们利用 trim 实现与 where 元素相同的效果。 要求:根据网站名称或网址对网站进行模糊查询。 WebsiteMapper.xml 代码如下。 SELECT id,name,url,age,country FROM website AND name LIKE CONCAT ('%',#{name},'%') AND url like concat ('%',#{url},'%') WebsiteMapper 类中方法如下。 public List selectWebsite(Website website); 测试类代码如下。 public class Test { public static void main(String[] args) throws IOException { // 读取配置文件mybatis-config.xml InputStream config = Resources.getResourceAsStream("mybatis-config.xml"); // 根据配置文件构建 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config); // 通过SqlSessionFactory创建SqlSession SqlSession ss = ssf.openSession(); Website site = new Website(); site.setname("编程"); site.setUrl("http"); List siteList = ss.selectList("net.biancheng.mapper.WebsiteMapper.selectWebsite", site); for (Website ws : siteList) { System.out.println(ws); } } } 输出结果如下。

DEBUG [main] - ==>  Preparing: SELECT id,name,url,age,country FROM website where name LIKE CONCAT ('%',?,'%') AND url like concat ('%',?,'%') DEBUG [main] - ==> Parameters: 编程(String), http(String) DEBUG [main] -



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有