cqengine

本文通过实例解析SQL查询语句,并介绍如何使用LIKE操作符进行模糊搜索,同时展示了如何结合Java代码创建复杂的条件查询,最后呈现了字符串参数化的方法。重点在于展示如何构造和执行带有多个条件的SELECT语句。
摘要由CSDN通过智能技术生成

1.参考:

https://www.cnblogs.com/tankaixiong/p/12920667.html

2.语法

SQL

public static void main(String[] args) { SQLParser<Car> parser = SQLParser.forPojoWithAttributes(Car.class, createAttributes(Car.class)); IndexedCollection<Car> cars = new ConcurrentIndexedCollection<Car>(); cars.addAll(CarFactory.createCollectionOfCars(10)); ResultSet<Car> results = parser.retrieve(cars, "SELECT * FROM cars WHERE (" + "(manufacturer = 'Ford' OR manufacturer = 'Honda') " + "AND price <= 5000.0 " + "AND color NOT IN ('GREEN', 'WHITE')) " + "ORDER BY manufacturer DESC, price ASC"); for (Car car : results) { System.out.println(car); // Prints: Honda Accord, Ford Fusion, Ford Focus } }

3.like
%xxx%:查询username字段中包含xxx的记录。

select * from user where username like '%xxx%'; 

%xxx:查询username字段中以xxx结尾的记录。

select * from user where username like '%xxx';

xxx%:查询username字段中以xxx开头的记录。

select * from user where username like 'xxx%';

4.https://blog.csdn.net/ldc5306590/article/details/53705319?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

String sqlString="select * from tb_wf_main where trim(WF_NAME) = '   " + wfName.trim() + "  '    ";

5.

package com.huawi;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


/**
* WHERE (( name LIKE '%1%' OR name LIKE '%2%' ) AND age >= 20 ) ORDER BY manufacturer DESC, price ASC
*/
public class AAA {


public static void main(String[] args) {
String head = "WHERE (";
String end = " ) ORDER BY manufacturer DESC, price ASC";

// list
ArrayList<String> sqlLists = new ArrayList<>();
List<String> strings = Arrays.asList("1", "25");
String listCenter = parseListSql(strings);
sqlLists.add(listCenter);


// 数值
StringBuffer stringBuffer1 = new StringBuffer();
String ageCenter = stringBuffer1.append(" AND age ").append(" >= ").append(20).toString();
sqlLists.add(ageCenter);


// 字符
StringBuffer stringBuffer2 = new StringBuffer();
String StringCenter = stringBuffer2.append(" AND addr ").append(" = ").append("'" + "anhui" + "'").toString();
sqlLists.add(StringCenter);

StringBuffer stringBufferFinal = new StringBuffer();
for (String s :
sqlLists) {
stringBufferFinal.append(s);
}
String finalString = head + stringBufferFinal.toString() + end;
System.out.println(finalString);
}

public static String parseListSql(List<String> strings) {
StringBuffer stringBuffer = new StringBuffer();
for (String s : strings) {
stringBuffer.append("name").append(" LIKE ").append("'" + '%' + ',' + s + ',' + '%' + "'").append(" OR ");
}
String center = stringBuffer.append(")").toString();
center = center.substring(0, center.length() - 5);
center = "( " + center + " )";
return center;
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值