hibernate防止SQL注入的方法:
1.使用named parameter方法(在查詢字符串中使用:),例如:
usernameString//前臺輸入的用戶名
passwordString//前臺輸入的密碼
//hql語句
String queryString = "from User t where t.username:usernameString and t.password: passwordString";
//執行查詢
List result = session.createQuery(queryString)
.setString("usernameString ", usernameString )
.setString("passwordString", passwordString)
.list();
2.使用positional parameter方法(在查詢字符串中使用?),例如:
usernameString//前臺輸入的用戶名
passwordString//前臺輸入的密碼
//hql語句
String queryString = "from User t where t.username=? and t.password=?";
//執行查詢
List result = session.createQuery(queryString)
.setString(0, usernameString )
.setString(1, passwordString)
.list();