Ⅰ 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;
}