--------工程具有了jar,主配置文件,工具类-------------
g.进入DB Browser,选择数据表右键,
选择Hibernate Reverse Engine
h.选择生成文件所放位置,设置hbm.xml,
持久类POJO,DAO选项
i.设置hbm.xml中type采用的类型,以及ID主键的生成方式
j.设置数据表对应的持久类的名称(包名.类名),
最后单击完成
2)由持久类和映射文件生成数据表
a.在hibernate.cfg.xml主配置文件,添加hbm2ddl配置
hbm2ddl工具可以根据hbm内容生成ddl语句,创建或修改数据表结构
b.执行save添加操作,触发hbm2ddl工具
2.Hibernate查询,HQL查询语句
HQL属于面向对象查询语言,结构与SQL相似,
将SQL中表名和字段名用类名和属性替代.
类名和属性名大小写敏感.
1),单表查询,简单查询
查询所有:
String hql="from User";
Query query=session.createQuery(hql);
List
for(User u:users){
System.out.println(u);//在User中覆盖了toString方法
}
查询记录条数:
String hql="select count(*) from User";
Query query=session.createQuery(hql);
List
System.out.println("人数是"+num.get(0));
查询部分字段:
String hql="select email,nickname from User";
Query query=session.createQuery(hql);
List
step3.查询操作
StringBuffer hql = new StringBuffer();
hql.append("SELECT ");
hql.append(" d1.id,d1.nickname,d2.postalCode,d2.fullAddress ");
hql.append(" FROM User d1 join d1.adrs d2 ");//HQL语句中没有on
Query query = session.createQuery(hql.toString());
List list=query.list();
for (int i = 0; i < list.size(); i++) {
Object[] obj = (Object[]) list.get(i);
System.out.println(obj[0] + " " + obj[1] + " " + obj[2] + " "
+ obj[3]);
}
//分页查询
String hql="from User";
Query query=session.createQuery(hql);
query.setMaxResults(2);//指定抓取记录的最大数
query.setFirstResult(1);//指定抓取记录的起始点
List