日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java 动态拼接sql_动态SQL拼接工具类

發(fā)布時(shí)間:2024/10/8 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 动态拼接sql_动态SQL拼接工具类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

動(dòng)態(tài)SQL拼接處理工具類,為了傳動(dòng)態(tài)參數(shù)sql語句拼接的靈活使用。具體源代碼見:

下面簡單介紹下使用Demo:

public?static?void?main(String[]?args)?throws?IOException?{

DynamicSQL?dsql?=?new?DynamicSQL();

dsql.append("SELECT?s.dept_name,?s.id,?s.name,?t.year,?t.semester,?t.course_id,?t.grade??");

dsql.append("??FROM?student?s???");

dsql.append("??LEFT?JOIN?takes?t?ON?s.id?=?t.id?");

dsql.append("??where?s.id?=?'1'??????");

dsql.isNotEmpty("?and?t.year?=?#????",?"2015");

dsql.isNotEmpty("?and?t.month?=?#????",?"");

dsql.isEqual("?and?t.semester?=?$??",?2,?2);

System.out.println(dsql.getSql());

System.out.println(dsql.getParams());

System.out.println(dsql);

System.out.println("+++++++++++++++++++++++++++++++++++++++++++");

dsql.clear();

dsql.append("SELECT?s.dept_name,?s.id,?s.name,?t.year,?t.semester,?t.course_id,?t.grade??");

dsql.append("??FROM?student?s???");

dsql.append("??LEFT?JOIN?takes?t?ON?s.id?=?t.id?");

dsql.append("??where?s.id?=?'1'??????");

dsql.isNotEmpty("?and?t.year?=?#????",?"2015");

dsql.isNotEmpty("?and?t.month?=?$????",?"");

dsql.isEqual("?and?t.semester?=?$??",?new?Integer(3),?new?Integer(3));

dsql.isEqual("?and?t.semester2?=?$??",?5,?5);

System.out.println(dsql.getSql());

System.out.println(dsql.getParams());

System.out.println(dsql);

System.out.println("+++++++++++++++++++++++++++++++++++++++++++");

dsql.clear();

String?ids?=?"1,?2,?3,?4,?5";

//dsql.append("delete?from?sdt_bdi_std_type?");

//dsql.isNotEmpty("??where?id?in?($)?",?ids);

dsql.isNotEmpty(String.format("delete?from?%s?where?id?in?($)?",?"sdt_bdi_std_type"),?ids);

System.out.println(dsql.getSql());

System.out.println(dsql.getParams());

System.out.println(dsql);

}

運(yùn)行的結(jié)果如下:

SELECT s.dept_name, s.id, s.name, t.year, t.semester, t.course_id, t.grade FROM student s LEFT JOIN takes t ON s.id = t.id where s.id = '1' and t.year = ? and t.semester = ?

[2015, 2]

SELECT s.dept_name, s.id, s.name, t.year, t.semester, t.course_id, t.grade FROM student s LEFT JOIN takes t ON s.id = t.id where s.id = '1' and t.year = '2015' and t.semester = ?2

+++++++++++++++++++++++++++++++++++++++++++

SELECT s.dept_name, s.id, s.name, t.year, t.semester, t.course_id, t.grade FROM student s LEFT JOIN takes t ON s.id = t.id where s.id = '1' and t.year = ? and t.semester2 = ?

[2015, 5]

SELECT s.dept_name, s.id, s.name, t.year, t.semester, t.course_id, t.grade FROM student s LEFT JOIN takes t ON s.id = t.id where s.id = '1' and t.year = '2015' and t.semester2 = ?5

+++++++++++++++++++++++++++++++++++++++++++

delete from sdt_bdi_std_type where id in (?)

[1, 2, 3, 4, 5]

delete from sdt_bdi_std_type where id in ( 1, 2, 3, 4, 5 )

總結(jié)

以上是生活随笔為你收集整理的java 动态拼接sql_动态SQL拼接工具类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。