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