`

带占位符的模糊查询、CLOB类型的模糊查询

    博客分类:
  • DB
阅读更多
1.带占位符?的模糊查询:
比如查询t_name字段中包含变量name的记录:
List<Object> params = new ArrayList<Object>();
params.add("%" + name + "%");
String hql = "select t from Person t where t.t_name like ?";
List<Person> list = service.getPersonByHql(hql,params.toArray());

2.CLOB类型的模糊查询:
在开发中经常会遇到CLOB类型数据的模糊查询(比如remark的模糊查询等),解决方法如下:
params.add(remarkStr);
String hql = "select t from Person t where dbms_lob.instr(t.remark, ?,1,1)> 0";//只适用于Oracle数据库
补充:Oracle数据库中DBMS_LOB.instr函数用于从指定的位置开始,从clob中查找第N个与模式匹配的字符串;
Oracle数据库中DBMS_LOB.substr函数用于从clob中抽取指定长度的字节,再转为字符串。例子:DBMS_LOB.substr(remark,4000,1)
DBMS_LOB的instr与substr讲解:http://ifindit.blog.sohu.com/163919197.html
http://blog.csdn.net/swordmanwk/article/details/6204611

下面这种方式可以适用于大多数数据库,是首选:
params.add("%" + remarkStr+ "%");
String hql = "select t from Person t where t.remark like ?";//适合大多数数据库,首选方法

3.CLOB类型的精确查询:
params.add(remarkStr);
//String hql = "select t from Person t where t.remark = ?";//错误!!!切记切记
String hql = "select t from Person t where t.remark like ?";//正确!这里用了点转换:就是灵活运用了like,精确查询时,就让它全部匹配传进来的参数

总结:对于CLOB类型数据的模糊查询以及精确查询都可以用like,只不过是匹配的字符串中的通配符不同而已。
分享到:
评论

相关推荐

    数据库中clob类型转换的问题 数据库中clob类型转换的问题

    1. **性能优化**:在某些情况下,CLOB类型的数据可能会导致查询效率低下,尤其是当这些数据需要频繁地被读取时。此时,将CLOB转换为VARCHAR2等类型可以提高查询速度。 2. **数据展示**:为了便于前端展示,有时...

    java中(注解符)处理Clob(blob)类型

    Java 中处理 Clob 和 Blob 类型的注解配置 Java 中处理 Clob 和 Blob 类型的注解配置是一种常见的处理大规模数据的方法。Clob(Character Large OBject)类型和 Blob(Binary Large OBject)类型是数据库中两种常用...

    mybatis 对clob类型转换

    在数据库中,CLOB(Character Large Object)类型用于存储大文本数据,如长篇文章或XML文档。在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨...

    运用Java如何存取Oracle中的CLOB类型字段

    ### 运用Java如何存取Oracle中的CLOB类型字段 #### 概述 在数据库操作中,经常会遇到处理大量文本数据的需求,例如存储文章、新闻、文档等。Oracle数据库提供了CLOB(Character Large Object)类型来存储大容量的...

    jdbc 处理clob类型字段

    本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。 首先,我们需要理解CLOB的基本概念。CLOB是一种数据库对象,...

    Mybatis 处理 CLOB、BLOB 类型数据

    Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...

    java存储oracle中的clob类型

    ### Java存储Oracle中的CLOB类型知识点详解 #### 一、CLOB类型简介及Java操作方法 CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在Oracle数据库中被广泛使用,可以支持最大4GB的数据量。...

    Oracle中CLOB类型文字处理代码

    在Oracle数据库中,CLOB(Character Large Object)是一种用于存储大量文本数据的...以上就是Oracle中CLOB类型文字处理的相关知识点,涵盖从创建、插入、查询、更新到文件操作的全过程,希望对你的理解和实践有所帮助。

    关于Clob类型在Hibernate中 的应用小结

    Clob”类型在数据库中主要用于存储大对象(Large Object),如长文本、XML文档等大量数据。在Oracle数据库中,Clob是用来存储可变长度的非结构化数据,如长篇文字、HTML文档等。在Java世界中,尤其是在持久化框架...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    关于oracle clob 类型字段重建索引SQL及修复用户表空间索引空间的存储过程

    在Oracle数据库中,CLOB(Character Large Object)类型字段用于存储大量的文本数据,如XML文档、长篇文章等。由于其特殊性,处理CLOB类型的字段时可能会遇到性能问题,特别是当涉及索引时。本话题将围绕如何针对...

    dblink_clob字段异常解决方案

    CLOB(Character Large OBject)是Oracle数据库中的一个数据类型,用于存储大量的字符数据。CLOB字段可以存储大量的文本数据,如文章、报表、图像等。 dblink_clob字段异常的原因 当我们使用DBLink连接远程数据库...

    java中操作oracle的CLOB字段精解

    在 Java 中插入 CLOB 对象需要使用 EMPTY_CLOB() 函数来插入一个空的 CLOB 对象,然后使用 ResultSet 对象来查询此 CLOB 对象,并锁定它,最后使用 BufferedWriter 对象来向 CLOB 对象中写入数据。 4. 修改 CLOB ...

    将长于4000字符的字符串转化为CLOB类型存入数据库

    // SQL语句,注意这里的:clob表示占位符,稍后将被替换为实际的CLOB数据 string sql = "INSERT INTO B_TSBH (BH, MC, SSBXBH, CONTENT) VALUES ('" + strTsbhBH + "', '" + strMC + "', '" + strSsbxbh + "', :...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    ### WebLogic 下 Oracle CLOB 类型转换解决方案 在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来...

    ibatis 读取oracle clob类型

    ibatis 读取oracle clob类型

    Jonny023#Study#Clob类型模糊查询(构建sql表达式)1

    域类字段为clob类型newsContent sqlType: "text" //仅适用于mysql数据库,若是oracle数据库,字需用"CLOB"通过cre

    JAVA对clob的操作

    在JAVA中,操作Oracle数据库中的BLOB和CLOB类型字段是一种常见的需求。然而,网络上关于JAVA对Oracle中BLOB、CLOB类型字段的操作说明往往不够全面、不够准确,甚至有的简直就是胡说八道。因此,本文旨在总结JAVA对...

    Oracle8i对Blob和Clob类型的操作

    在Oracle8i版本中,数据库支持了大型对象(LOB)类型,包括BLOB(Binary Large Object)和CLOB(Character Large Object)。这两种数据类型用于存储大量二进制数据(如图片、视频或文档)和文本数据(如长篇文章或...

Global site tag (gtag.js) - Google Analytics