(一)问候Hibernate4

第一节:Hibernate 简介

官网:http://hibernate.org/

Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate 可应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP 的Web 应用中使用,最具革命意义的是,Hibernate可以在应用EJB 的J2EE 架构中取代CMP,完成数据持化的重任。

学习重点:

ORM 框架,对象关系映射(Object/Relation Mapping)

最新版本已经是hibernate5了,我们这里学习hibernate4。

百度云下载:http://pan.baidu.com/s/1i531wjV

密码:j7rw

核心jar包:

mysql驱动包:

百度云下载 :http://pan.baidu.com/s/1qXG4ec8

密码:q0pm

第二节:Hibernate4 版Hello World 实现

hibernate.cfg.xml 

 1 <?xml version='1.0' encoding='utf-8'?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 5 
 6 <hibernate-configuration>
 7 
 8     <session-factory>
 9 
10         <!--数据库连接设置 -->
11         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
12         <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
13         <property name="connection.username">root</property>
14         <property name="connection.password">123456</property>
15 
16        
17         <!-- 方言 -->
18         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
19     
20         <!-- 控制台显示SQL -->
21         <property name="show_sql">true</property>
22 
23         <!-- 自动更新表结构 -->
24         <property name="hbm2ddl.auto">update</property>
25         
26           <mapping resource="com/wishwzp/model/Student.hbm.xml"/>
27 
28     </session-factory>
29 
30 </hibernate-configuration>

 Student.java

 1 package com.wishwzp.model;
 2 
 3 public class Student {
 4 
 5     private long id;
 6     private String name;
 7     
 8     public long getId() {
 9         return id;
10     }
11     public void setId(long id) {
12         this.id = id;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     
21     
22 }

Student.hbm.xml

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC
 3         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 5 
 6 <hibernate-mapping package="com.wishwzp.model">
 7 
 8     <class name="Student" table="t_student">
 9         <id name="id" column="stuId">
10             <generator class="native"></generator>
11         </id>
12         
13         <property name="name"></property>
14     </class>
15 
16 </hibernate-mapping>

 StudentTest.java

 1 package com.wishwzp.service;
 2 
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
 6 import org.hibernate.cfg.Configuration;
 7 import org.hibernate.service.ServiceRegistry;
 8 
 9 import com.wishwzp.model.Student;
10 
11 public class StudentTest {
12 
13     public static void main(String[] args) {
14         
15         // 实例化配置文件
16         Configuration configuration=new Configuration().configure(); 
17         // 实例化服务登记
18         ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); 
19         // 获取Session工厂
20         SessionFactory sessionFactory=configuration.buildSessionFactory(serviceRegistry); 
21         // 生成一个session
22         Session session=sessionFactory.openSession();
23         // 开启事务
24         session.beginTransaction(); 
25         
26         Student s=new Student();
27         s.setName("张三");
28         session.save(s);
29         
30         // 提交事务
31         session.getTransaction().commit(); 
32         // 关闭session
33         session.close(); 
34         // 关闭session工厂
35         sessionFactory.close(); 
36     }
37 }

结果显示:

 

 控制台显示:

原文地址:https://www.cnblogs.com/wishwzp/p/5477142.html