今天面试做上机做一个题目,给定数据库让你做一个登录后台。
其实题目很简单。
如果数据库没有主键呢?
如果你想使用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         }