分页过滤SQL求总条数SQL正则
时间:2021-07-01 10:21:17
帮助过:2人阅读
static void main(String[] args)
throws Exception {
String queryForScanUsers_SQL = "select a.username AS user_name,b.* from tbl_aaa a left join tbl_bbb b where a.id=? limit 10"
;
//去除WHERE和LIMIT
String sqlRegex = "(select\\s+)(.*)(\\s+from)(.+?(?=limit|where))"
;
Pattern p =
Pattern.compile(sqlRegex, Pattern.CASE_INSENSITIVE);
Matcher m =
p.matcher(queryForScanUsers_SQL);
while (m.find()) {
//SELECT
System.out.println(m.group(1
).trim());
//Columns,分页中求总条数需替换成COUNT(1)
System.out.println(m.group(2
).trim());
//FROM
System.out.println(m.group(3
).trim());
//Tables
System.out.println(m.group(4
).trim());
}
HanyuPinyinOutputFormat format =
new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE); //小写拼音字母
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//不加语调标识
format.setVCharType(HanyuPinyinVCharType.WITH_V);
//u:的声母替换为v
StringBuilder sb =
new StringBuilder();
System.out.println(PinyinHelper.toHanyuPinyinString("张三feng", format, ""
));
}
分页过滤SQL求总条数SQL正则
标签: