hibernate无主键表查询及数据库连接回顾

hibernate无主键表查询及数据库连接回顾

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

你可能感兴趣的:(hibernate无主键表查询及数据库连接回顾)