1.根据主键查询
session.load(Role.class, "33") session.get(Role.class, "33")
get 和 load 方法的区别:详见:https://www.cnblogs.com/lukelook/p/9684782.html
2.getSession().createSQLQuery(sql)和session.createQuery(sql)
前者用的是SQL语句,后者用的HQL语句。
1)getSession().createSQLQuery(sql)
@Override public List<Role> getAllRoles() { // TODO Auto-generated method stub List<Role> roles = null; String sql = "SELECT * FROM tbl_role where Role_Server = ? "; Query query = sessionFactory.getCurrentSession().createSQLQuery(sql); query.setString(0, "一梦十年");//参数从0开始 roles = query.list(); return roles; }
2)session.createQuery(sql)
@Override public List<Role> getAllRoles() { // TODO Auto-generated method stub List<Role> roles = null; String sql = "FROM Role r where r.roleServer = ?0 "; Query query = sessionFactory.getCurrentSession().createQuery(sql); query.setString("0", "一梦十年"); roles = query.list(); return roles; }