Ⅰ java資料庫中的問號代表什麼意思
你說的是寫sql時候的?嗎 那是佔位符的意思。
比如:
佔位符方式寫sql的好處:
1.增加SQL代碼可讀性
2.佔位符可以預先編譯,提高執行效率
3.防止SQL注入
4用佔位符的目的是綁定變數,這樣可以減少數據SQL的硬解析,所以執行效率會提高不少
Ⅱ java中多表連接語句怎麼寫
想要多少個表連接啊。問題要寫清楚了。我可以給你參考一下。這是一個多表查詢的方法:通過佔位符獲取,也是最安裝的SQL寫法。如果你想寫什麼在java代碼SQL可以網路HI我:代碼如下:
public int queryShortRecord(Connection db,String riskApplicationId) throws SQLException {
StringBuffer sql = new StringBuffer();
PreparedStatement pst = null; //帶有佔位符的預處理變數
ResultSet rs = null; //定義結果集變數
int count = 0;
try {
sql.append(" SELECT prc.* , rc.comments, rca.comments as factorComments, rca.risk_factor_type_id ")
.append("from prd_rsk_cls_affect_fact_appl prc ")
.append("left join risk_class rc on prc.risk_class_id = rc.risk_class_id ")
.append("left join risk_cls_affect_factor rca on prc.risk_factor_id = rca.risk_factor_id ")
.append("where risk_application_id = ? ");//查詢SQL語句
if (status !=null){
sql.append(" and prc.status != ? ");
}
pst = db.prepareStatement(sql.toString());
int i = 0;
pst.setString(++i, riskApplicationId);
if (status !=null){
pst.setString(++i, this.status);
}
rs = pst.executeQuery();//查詢執行
while (rs.next()) {
buildRecord(rs);
count ++;
}
} catch (SQLException e) {
throw e;
} finally {
DatabaseUtils.closeQuietly(pst,rs);
}
return count;
}