城管希 - -! 又来讲Hibernate了
HQL语句查询
// 使用HQL查询表的所有记录Session session = HibernateUitl.getOpenSession();Transaction transaction = session.beginTransaction();String hql = "from com.lanou3g.User";Query query = session.createQuery(hql);// 预见结果集 // (多个就用list处理 单个就用 uniqueResult)List list = query.list();System.out.println(list);transaction.commit();session.close();
使用问号占位符
//使用HQL查询所有记录
Session session = HibernateUtil.getOpensession();
Transaction transaction = session.beginTransaction();
//使用问号占位符替代
String hql = "from com.lanou3g.User where id = ?";
Query query = session.createQuery(hql);
//从0开始
query.setParameter(0, 2);
User user = query.uniqueResult();
transaction.commit();
session.close();
使用冒号占位符
//:后面是占位符的名字
//注意:冒号后面不要加空格
//替换时 直接使用名字即可
String hql = "from com.lanou3g.User where username = :username and password = :password";
Query query = session.createQuery(hql);
query.setParameter("username", "wanglong");
query.setParameter("password", "123");
User user = query.uniqueResult();
使用hql分页查询
String hql = "from User";
Query query = session.createQuery(hql, User.class);
query.setFirstResult(0);
query.setMaxResults(2);
List list = query.list();
如何配置多表xml文件
1.一对多name表示实体类对象属性名
column:两张表联系的外键
注意:外键名要一致 否则会多建一个外键
class 与哪个类进行一对多
/set>
2.多对一
name表示多对一对象的属性名
class表示的是多对一对象的类
column表示的是外键
注意:在property中配置不要重复配置外键
3.多对多
name 容器名字
table 中间表的名字
column 中间表引用的id
class 对应的那个表的类名
column 对应那个表的外键
[html] view plain copy
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
