你们好,最近小活发现有诸多的小伙伴们对于hibernate or soft off states,hibernate这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 官网下载Hibernate的开发包:
2、 Hibernate框架目录结构:
3、 创建一个项目:(Java项目)
4、 导入相应的jar包:
5、 *hibernate3.jar
6、 * HIBERNATE_HOME/lib/required/*.jar
7、 * HIBERNATE_HOME/lib/jpa/hibernate-jpa-2.0-api-1.0.1.Final.jar
8、 *导入日志包:
9、 * log4j-1.2.16.jar
10、 * slf4j-log4j12-1.7.2.jar
11、 *导入数据库驱动程序:
12、 创建表:(关系数据库)
13、 create databasehibernate3_day01;
14、 usehibernate3_day01;
15、 create table customer(
16、 id int primary key auto_increment,
17、 name varchar(20),
18、 age int
19、 );
20、 创建实体类:(面向对象)
21、 public class Customer {
22、 private int id;
23、 private String name;
24、 private int age;
25、 public int getId() {
26、 return id;
27、 }
28、 public void setId(int id) {
29、 this.id=id;
30、 }
31、 public String getName() {
32、 return name;
33、 }
34、 public void setName(String name) {
35、 this.name=name;
36、 }
37、 public int getAge() {
38、 return age;
39、 }
40、 public void setAge(int age) {
41、 this.age=age;
42、 }
43、 }
44、 创建ORM的映射。
45、 只要映射文件是XML文件,它就可以有任何名称。
46、 *通常名称规范:
47、 *实体类名. hbm.xml
48、 引入约束:
49、 *hibernate3.jar/org.hibernate.hibernate-mapping-3.0.dtd
50、 !DOCTYPEhibernate-mapping PUBLIC
51、 '-//Hibernate/Hibernate Mapping DTD 3.0//EN'
52、 'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'
53、 hibernate-mapping
54、 !-建立类和表之间的映射-
55、 !- class标签:用于映射类和表名的关系:类表的完整路径:表名-
56、 class name='cn.wsjy.hibernate3.demo1.Customer' table='customer'
57、 !-在类中的属性和表中的字段之间建立映射-
58、 !-唯一标识-
59、 !-使用id标签来配置唯一属性-
60、 !-在id标记中配置主键生成策略。-
61、 id name='id' column='id'
62、 generator/
63、 /id
64、 !-一般属性-
65、 !-属性标记:映射类中的公共属性名称:类中的属性名称,列:表中的字段名称-
66、 !--
67、 类型:三种写法。
68、 * Java类型:java.lang.String
69、 * Hibernation type: string
70、 * SQL type:不能直接使用type属性,需要subtag列。
71、 * column name='name' sql-type='varchar(20)'/
72、 --
73、 property name='name' column='name' type='string'/
74、 property name='age' column='age'/
75、 /class
76、 /hibernate-mapping
77、 创建一个Hibernate核心配置文件。
78、 告诉Hibernate连接的是哪个数据库。
79、 在src下创建一个hibernate.cfg.xml。
80、 hibernate-configuration
81、 session-factory
82、 !-必须配置的属性-
83、 !-配置数据库连接的基本信息:-
84、 property name='hibernate.connection.driver_class'
85、 com.mysql.jdbc.Driver
86、 /property
87、 property name='hibernate.connection.url'
88、 jdbc:mysql:///hibernate3_day01
89、 /property
90、 property name='hibernate.connection.username'root/property
91、 property name='hibernate.connection.password'123/property
92、 ! Hibernating dialect-
93、 !-生成不同的底层SQL-
94、 property name='hibernate.dialect'
95、 org.hibernate.dialect.MySQLDialect
96、 /property
97、 !-可选属性-
98、 !-显示SQL -
99、 property name='hibernate.show_sql'true/property
100、 !-格式化SQL -
101、 property name='hibernate.format_sql'true/property
102、 ! -Hemoglobin: Mapping to DDL: Creating Delete Changes-
103、 property name='hibernate.hbm2ddl.auto'update/property
104、 !-告诉Hibernate加载那些映射文件-
105、 mapping resource='cn/wsjy/hibernate3/demo1/Customer.hbm.xml' /
106、 /session-factory
107、 /hibernate-configuration
108、 写一个测试
109、 将记录插入数据库。
110、 @Test
111、 //将记录插入数据库
112、 public void demo1(){
113、 //1.Hiberante框架加载核心配置文件(带有数据库连接信息)
114、 Configuration configuration=new Configuration().configure();
115、 //2.创建会话工厂。(获取会话等效连接对象)
116、 SessionFactory sessionFactory=configuration.buildSessionFactory();
117、 //3.获取会话对象。
118、 Session session=sessionFactory.openSession();
119、 //4.默认情况下,事务不会自动提交。
120、 Transaction tx=session.beginTransaction();
121、 //5.业务逻辑操作
122、 //将记录插入数据库:
123、 Customer customer=new Customer();
124、 customer.setName('任童');
125、 customer.setAge(28);
126、 session.save(customer);
127、 //6.交易提交
128、 tx.commit();
129、 //7.释放资源
130、 session.close();
131、 sessionFactory.close();
132、 }
以上就是hibernate这篇文章的一些介绍,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!