今天面試做上機做一個題目,給定數據庫讓你做一個登錄后臺。
其實題目很簡單。
如果數據庫沒有主鍵呢?
如果你想使用hibernate去查詢的話,那你就是要花費一點時間了、
所以在這里推薦使用jdbc查詢,或者是使用hibernate的createSQLQuery方法去查詢。
一下是hibernate查詢代碼:
1 Session session = HibernateSessionFactory.getSession();
2 Transaction tran = session.beginTransaction();
3
4 Query query = session.createSQLQuery("select * from test where a=? and b=?");
5 query.setInteger(0, 4);
6 query.setInteger(1, 4);
7 tran.commit();
8 List l = query.list();
9 if(l.size() != 0 ){
10 System.out.println(l.size());
11 System.out.println("login suc");
12 }
13 else{
14 System.out.println("login fail");
15 }
16 }
其實說起來也就是用jdbc的方法,根本沒什么hibernate的技術。
下面溫習一下jdbc的鏈接及查詢方法。
1 try {
2 Class.forName("com.mysql.jdbc.Driver");
3 con = DriverManager.getConnection(url, name, pas);
4 pstate = con.prepareStatement("select count(*) from test where a = ? and b = ?");
5 pstate.setInt(1, 1);
6 pstate.setInt(2, 1);
7 rs = pstate.executeQuery();
8
9 while(rs.next()){
10 System.out.println(rs.getInt(1));
11 }
12
13
14 } catch (ClassNotFoundException e) {
15 e.printStackTrace();
16 } catch (SQLException e) {
17 e.printStackTrace();
18 }