hibernate学习笔记—初识hibernate

1.在使用hibernate之前要首先导入相应的jar包。

下载hibernatejar包:http://hibernate.org/orm/ (其中lib目录下的required目录下的jar包为需要导入项目的jar包)
下载相应数据库的JDBC驱动
下载单元测试工具Junit:Junit4.0
然后就是把jar包导入项目中去

2.理解hibernate

hibernate是一个对象/关系映射框架(Object/Relational Mapping, ORM)。使用ORM框架可以避免直接使用SQL语句对关系型数据库的数据进行操作,而是借用ORM框架把数据库中的数据转换为对象,通过操作对象就能实现对数据库的操作。可以简单地这么理解,hibernate是对JDBC的一种封装,使得java程序对数据库的操作可以通过面向对象的方式进行,在使用不同使用数据库时可以通过简单得修改配置文件就能实现数据库的切换。

3.实现一个简单的hibernate应用.

将下载的jar包导入项目并构建路径,然后创建hibernate.cfg.xml、Student.java、Student.hbm.xml、Test.java 四个文件
文件在项目中的位置

1.hibernate.cfg.xml :这文件包含hibernate连接数据库及进行操作时需要用到的一些信息
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 5 <hibernate-configuration>
 6     <session-factory>
 7         <!-- 连接数据库的参数配置 -->
 8         <property name="hibernate.connection.url">
 9             jdbc:mysql://localhost:3306/hibernate?useUnicode=true&amp;characterEncoding=UTF-8
10         </property>
11         <property name="hibernate.connection.username">root</property>
12         <property name="hibernate.connection.password">123456</property>
13         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
14         <!-- 具体操作数据库时用到的一些参数 -->
15         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
16         <property name="hibernate.show_sql">true</property>
17         <property name="format_sql">true</property>
18         <property name="hibernate.hbm2ddl.auto">create</property>
19         <property name="hibernate.current_session_context_class">thread</property>
20         <!-- 对象关系映射文件的路径 -->
21         <mapping resource="com/examples/Student.hbm.xml"/>
22     </session-factory>
23 </hibernate-configuration>
hibernate.cfg.xml
2.Student.java :这是一个学生实体类,必须符合javabean规则
 1 package com.examples;
 2 public class Student implements java.io.Serializable{
 3     /* *
 4      * 1.私有属性
 5      * 2.无参构造方法
 6      * 3.getter和setter方法
 7      */
 8     private int id;
 9     private String name;
10     private int age;
11     public Student(){}
12     public int getId() {
13         return id;
14     }
15     public void setId(int id) {
16         this.id = id;
17     }
18     public String getName() {
19         return name;
20     }
21     public void setName(String name) {
22         this.name = name;
23     }
24     public int getAge() {
25         return age;
26     }
27     public void setAge(int age) {
28         this.age = age;
29     }
30 }
Student.java
3.Student.hbm.xml :这是对象关系映射文件,将学生实体类与数据库的中的一张表关联起来
 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 4 <!-- Generated 2015-11-21 17:23:33 by Hibernate Tools 3.4.0.CR1 -->
 5 <hibernate-mapping>
 6     <class name="com.examples.Student" table="STUDENT">
 7         <id name="id" type="int">
 8             <column name="ID" />
 9             <generator class="native"></generator>
10         </id>
11         <property name="name" type="java.lang.String">
12             <column name="NAME" />
13         </property>
14         <property name="age" type="int">
15             <column name="AGE" />
16         </property>
17     </class>
18 </hibernate-mapping>
Student.hbm.xml
4.Test.java :测试类
 1 package test;
 2 import org.hibernate.Session;
 3 import org.hibernate.SessionFactory;
 4 import org.hibernate.Transaction;
 5 import org.hibernate.cfg.Configuration;
 6 import org.hibernate.service.ServiceRegistry;
 7 import org.hibernate.service.ServiceRegistryBuilder;
 8 import com.examples.Student;
 9 public class HibernateTest{
10     public static void main(String[] args) {
11         //创建配置对象
12         Configuration config = new Configuration().configure();
13         //创建服务注册对象
14         ServiceRegistry service = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
15         //创建会话工程对象
16         SessionFactory  sessionFactory=config.buildSessionFactory(service);
17         //创建会话对象
18         Session session = sessionFactory.openSession();
19         //开启事务
20         Transaction tx = session.beginTransaction();
21         //创建实例类
22         Student stu = new Student();
23         stu.setAge(21);
24         stu.setName("小明");
25         session.save(stu);
26         //提交事务
27         tx.commit();
28         //关闭回话及工厂
29         session.close();
30         sessionFactory.close();
31     }    
32 }
HibernateTest.java

 

posted @ 2015-11-22 18:48  doxob  阅读(104)  评论(0)    收藏  举报