導航:首頁 > 編程語言 > javasql拼接

javasql拼接

發布時間:2022-09-18 06:42:55

⑴ 求幫忙一個java的sql語句拼接,條件是 in 包括!

//不知道你usr_id怎麼傳入,現假設ids=[101,102]
Stringsql="select*fromusr_infouwhereu.usr_idin("
StringBuildersd=newStringBuilder(sql);
for(inti=0;i<ids.length();i++){
//實際操作,就是添加"'101『,"
sb.append("'").append(ids[i]).append("',");
}
sb.deleteAt(sb.length-1);//刪除最後一個逗號

sb.append(");");

System.out.print(sb.toString());

⑵ JAVA jdbc 里 拼接 sql 的時候 直接用 ++ 拼接上值還是 用 = 那個拼接啊

不談安全的話,使用StringBuffer對象拼接sql效率更高一點。但是如果使用字元串拼接的形式會造成sql注入的問題。因此盡量使用PrepareStatement來預處理sql,即使用=?的sql語句。
sql注入:
假設你想查詢的sql如下:
String sql="select * from user_infor where username='123' and pwd= ",且理論上你想要拼接 "'password'"。那麼如果拼接錯了密碼sql就不會返回想要的結果,但是如果拼接"'wrongPassword' or 1=1 " ,sql語句也會執行成功的。

⑶ 關於java中拼接sql,表名作為參數,返回結果集怎麼接 [問題點數:30分]

通常通過SQL查詢語句查出來的結果集封裝在ResultSet對象中,然後我們會這樣處理:
把ResultSet對象中的數據取出來並封裝在javabean中,所以我們需要這樣寫(我假設這里的javabean是Student.java 裡面有private String name和private int id兩個屬性 ,當然你需要生成對應的getter和setter方法)
while(rs.next()){
Student s=new Student();
s.setName(rs.getString("name"));
s.setId(rs.getInt("id"));
return s;
}

這樣就把相應的數據封裝進javabean對象中了,當然還有一種簡便的方法是用Apache開源組織的dbUtils工具 詳看API 這個太多不好說

⑷ Java動態sql語句拼接

Map<String,Boolean> map = new HashMap<String,Boolean>();

Set<Entry<String, Boolean>> ens = map.entrySet();
StringBuilder sb = new StringBuilder();
if(ens != null && ens.size() > 0){
for(Entry<String, Boolean> en: ens){
if(en.getValue()){
sb.append("'").append(en.getKey()).append("',");
}
}
}
String names = sb.toString();
if(names.length() > 0){
names = names.substring(0, names.length()-1);//去掉最後一個逗號
String sql = "select * from stuent t1 where t1.name in("+names+")";
System.out.println(sql);
}else{
System.out.println("沒有及格的學生");
}

⑸ java 如何在sql里用一個逗號拼接的字元串與資料庫里的值做對比

逗號分隔字元串的數量可以通過 sql 中的一個自定義函數來計算: 參見: dropfunction search dhgo createf unction search (@strvarchar (max) comback int -- 設置返回值為 begindeclare@resultint -- 返回逗號 declare@jintset result = 0set@j = 1while@j

⑹ java中SQL拼接的問題

//既然你說有可能不拼接,直接不拼接是無法實現的可以換一種思路,就是全部查詢,比如,你不想加proviceCd=」「的判斷,可以讓他全部查詢出來,因為不加條件就是全盤檢查,使用模糊查詢,讓條件 like 『%』 ,」%「代表任意長度任意字元,所以都符合條件,不會排除任何一個其他項目。希望這個思路能幫到你,如果不行我也沒辦法了。
String sql = select * from intern t WHERE name like '?' and institute like '? 'and gender like '?' and majorCd like '?' and provinceCd like '?';

PreparedStatement pstmt = null;
int status = -1;
try {
pstmt = conn.prepareStatement(sql);
if(name==null)
{
pstmt.setString(1, %);
}
else
{
pstmt.setString(1, name);
}
/*
其他條件判斷,
*/
status = pstmt.executeUpdate();
if (status > 0) {
System.out.println("成功");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBResources.resource(conn, pstmt);
}

⑺ java如何拼接sql語句

你咋不試試,
String columnStr;
String valueStr;
for(int i=0; i<columns.length; i++){
columnStr = "(" + columns[i] + ",";
valueStr = "'( \"" + value[i] + ",";
}

參考JAVA轉義字元。網路一下吧。你自己試試,我這里沒裝jdk,懶得弄了,准備休息了。

⑻ java和sql語句拼接問題

因為拼接字元串沒有預編譯,像mybatis會預編譯,當你傳入一個字元串的時候會自動給你添加上'',表示這是一個字元串,但是你手動字元串拼接的時候就需要自己執行mybatis的這個操作,在字元串上添加 ''。最後sql += " and id='"+ id + "'"相當於sql =sql + " and id='"+ id + "'";就是一個字元串簡單拼接

⑼ java中如何解決sql字元串的拼接

String temp="";

for(String s : ids){
temp="("+s+"),"
}
temp=temp.subString(0,temp..lastIndexOf(","));

String sql="insert into info_cols(info_id) values "+s;

Conn.update(sql);
//這樣就與資料庫交互一次,資料庫交互盡量要少

閱讀全文

與javasql拼接相關的資料

熱點內容
壓縮因子定義 瀏覽:966
cd命令進不了c盤怎麼辦 瀏覽:212
葯業公司招程序員嗎 瀏覽:972
毛選pdf 瀏覽:659
linuxexecl函數 瀏覽:727
程序員異地戀結果 瀏覽:374
剖切的命令 瀏覽:228
干什麼可以賺錢開我的世界伺服器 瀏覽:290
php備案號 瀏覽:990
php視頻水印 瀏覽:167
怎麼追程序員的女生 瀏覽:487
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328