問題是這樣,想實現select * from ? order by ?通過對?動態設定引數,實現對不同表的查詢
直接利用preparedstatement st = con.preparestatement(sql);然後執行
會報表名無效的錯誤
下面是間接實現這樣的操作
利用字串替換的方法
sql = string.format(sql, table);
這樣在sql配置檔案中就可以把表名對應的位置寫為%s,通過format實現替換操作
public static void main(string args) throws sqlexception
}
其中用到的設定方法為
public static resultset executeparametersql(connection con,string sql,object... para) throws sqlexception{
preparedstatement st = con.preparestatement(sql);
for(int i = 0 ;i
Mybatis之 和 區別及動態傳入表名
動態傳入表名 能防止sql注入,不能 方式一般用於傳入資料庫物件,例如傳入表名.mybatis排序時使用order by 動態引數時需要注意,用 而不是 id 1,select from tablename select 1 from tablename 引用 id 1,select from ta...
MyBatis構建sql時動態傳入表名以及欄位名
o.statecode as statuscode,count as statusnum from where o.doctorcode and to date yyyy mm dd and to date yyyy mm dd 1 1group by o.statecode 這是個很簡單的查詢,其...
bpc動態表名
海量資料處理,正式伺服器上的表都是以日期為字尾做表名,我要遠端將資料拷貝到查詢伺服器上,因為資料量大,所以選擇用bcp來拷貝資料。需要bcp的表名是隨日期而變,1 如何更改批處理檔案 bcp 中的表名。2 如果用動態sql取表名的話,怎樣把批量的bcp語句儲存到批處理檔案中?希望得到各位大俠的幫助。...