Hibernate笔记1

 

1.引入Hibernate包
hibernate3.jar   核心包
hibernate-annotations.jar
hibernate-commons-annotations.jar  
hibernate-entitymanager.jar
hibernate-validator.jar
antlr-2.7.6.jar                    
cglib-2.2.jar
commons-collections-3.1.jar        
dom4j-1.6.1.jar
ehcache-1.2.3.jar                  
javassist-3.9.0.GA.jar             
jstl-1.2.jar
jta-1.1.jar                        
log4j-1.2.14.jar
slf4j-api-1.5.8.jar                
slf4j-log4j12-1.5.8.jar
2.编写Hibernate核心配置文件Hibernate.cfg.xml





 sql
 
  jdbc:sqlserver://127.0.0.1:1433;databaseName=mybookshop
 

 sa
 
 
  com.microsoft.sqlserver.jdbc.SQLServerDriver
 

 
  org.hibernate.dialect.SQLServerDialect
 

 true
 true

3.编写Java Bean对应数据中的实体(需要实现Serializable(序列化)接口)
package com.haha.bean;

import java.io.Serializable;

public class UserRoles implements Serializable {
 private static final long serialVersionUID = 1L;
 private int id;
 private String name;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}
4.编写ORM中的M(Mapping影射配置文件) UserRoles.bhm.xml


                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 
 
  
 

 
 

id:主键
4.1主键策略
1、identity:用于DB2,MySQL, MS SQL Server, Sybase数据库。特点:递增
2、sequence:用于DB2,PostgreSQL, Oracle, SAP DB, McKoi数据库
3、native:跨数据库时使用,由底层方言产生
4、hilo:通过高低位合成id,先建表hi_value,再建列next_value。必须要有初始值。
5、sequencehilo:同过高低位合成id,建一个sequence序列,不用建表。
6、assigned:用户自定义id;
7、foreign:用于一对一关系共享主健时,两id值一样。

其它属性

5.向Hibernate.cfg.xml中添加 影射文件

6.编写测试类

package com.haha.test;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import com.haha.bean.UserRoles;

public class UserRolesTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  //1.获取SessionFactory
  //通过配置类来读取Hibernate.cfg.xml文件
  Configuration config=new Configuration().configure("/Hibernate.cfg.xml");
  //获取Session对象
  SessionFactory sessionFactory=config.buildSessionFactory();
  Session session=sessionFactory.openSession();
  
  //2.通过Session查询数据
  //使用对象方式查询数据
  //List list= session.createCriteria(UserRoles.class).list();
  //使用HQL查询命令查询
  List list= session.createQuery("from UserRoles").list();
  for(UserRoles r :list){
   System.out.println(r);
  }
  
  //3.关闭Session
  session.close();
  sessionFactory.close();

 }

}

你可能感兴趣的:(JavaWeb编程)