1 使用PreparedStatement語句求(賬號)跟(密碼)的設計
@Test
public void tast1() throws Exception {
Connection conn = JdbcUtil.INSTANCE.getConn();
String sql = "SELECT * FROM t_user where username = ? and password = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "admin"); //輸入賬號admin
ps.setString(2, "1"); //輸入密碼1
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.println("ok啦....");
}else{
System.out.println("nook啦....");
}
JdbcUtil.INSTANCE.close(conn, ps, rs);
}
2 使用Statement語句求(賬號)跟(密碼)的設計
@Test
public void tast1_1() throws Exception {
Connection conn = JdbcUtil.INSTANCE.getConn();
Statement st = conn.createStatement();
//直接輸入賬號admin 跟 密碼1
String sql = "SELECT * FROM t_user where username = 'admin' and password = '1'";
ResultSet rs = st.executeQuery(sql);
if(rs.next()){
System.out.println("ok啦....");
}else{
System.out.println("nook啦....");
}
JdbcUtil.INSTANCE.close(conn, st, rs);
}
3 使用PreparedStatement中 count(*) 列的設計
@Test
public void tast2() throws Exception {
Connection conn = JdbcUtil.INSTANCE.getConn();
String sql = "SELECT count(*) FROM t_user where username = ? and password = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "admin");
ps.setString(2, "1");
ResultSet rs = ps.executeQuery();
if(rs.next()){
Long i = rs.getLong(1);
if(i == 1){
System.out.println("ok啦....");//此時查找出來的count(*)列的參數爲1密碼正確
}else{
System.out.println("nook啦....");//此時查詢出來的count(*)參數爲0,密碼不正確
}
}
JdbcUtil.INSTANCE.close(conn, ps, rs);
}
4 使用PreparedStatement 告訴(賬號)求(密碼)列的設計
@Test
public void tast3() throws Exception {
Connection conn = JdbcUtil.INSTANCE.getConn();
String sql = "SELECT password FROM t_user where username = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "admin"); //此處輸入賬號
ResultSet rs = ps.executeQuery();
if(rs.next()){
String pwd = rs.getString(1);
if(pwd.equals("1")){ //此處輸入密碼
System.out.println("ok啦....");//密碼正確
}else{
System.out.println("錯誤啦....");//密碼錯誤
}
}else{
System.out.println("沒有該賬號");
}
JdbcUtil.INSTANCE.close(conn, ps, rs);
}