Hibernate学习笔记之基本配置详解

作者:简简单单 2013-11-03

1.下载页面

http://in.relation.to/Bloggers/HibernateORM422FinalReleased

2.解压hibernate,将lib目录下面的required目录下所有的jar包拷贝到我们的应用中的类加载路径,如果是web应用,放在/WEB-INF/lib/ 下面

3.如果需要用到数据库源那么将c3p0也放在/WEB-INF/lib/ 下面

4.创建一个持久化的类。这个类的实例将会被hibernate映射到数据库中对应的实例:

 代码如下 复制代码

package org.Rudiment.hibernate;

public class News
{
    private Integer id;
    private String title;
    private String content;
   
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
   
}


5.配置News这个类专属的映射文件News.hbm.xml

 代码如下 复制代码



   
   
       
       
           
           
       

       
       
       
       
   


6.hibernate的框架配置  /WEB-INF/classes/hibernate.cfg.xml

 代码如下 复制代码

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">



   
    org.hibernate.dialect.MySQLDialect
   
    com.mysql.jdbc.Driver
   
    root
   
    word">root
   
    jdbc:mysql://localhost:3306/failure
   
    20
   
    1
   
    5000
   
    true
   
    true
   
    true

    100
    3000
    2
    true
   
    update
   
   


7.写一个类来作为测试:

 代码如下 复制代码

package org.Rudiment.hibernate;

import org.Rudiment.hibernate.News;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class NewsManager
{
    public static void main(String[] args)
    {
        //获取配置
        Configuration conf = new Configuration().configure();
        //获取ServiceRegistry
        ServiceRegistry  sr = new ServiceRegistryBuilder()
        .applySettings(conf.getProperties())
        .buildServiceRegistry();
        //配置我们的SessionFactory
        SessionFactory sf = conf.buildSessionFactory(sr);
        //获取我们的Session
        Session sess = sf.openSession();
        //开始我们的事务
        Transaction tx = sess.beginTransaction();
       
        News n = new News();
        n.setTitle("ITkezhan");
        n.setContent("IT客栈");
       
        //保存持久化对象
        sess.save(n);
        //提交事务
        tx.commit();
        //关闭Session
        sess.close();
        //关闭SessionFactory
        sf.close();
    }
}

8.运行一下 NewsManager 之后,可以看到hibernate数据库中多了一张表 news_table内容如下:(要事先在MySQL中创建hibernate这个数据库。不然的话并不会自动创建hibernate数据库)

 代码如下 复制代码

mysql> use hibernate;
Database changed
mysql> select * from news_table;
+----+---------------+-------------------------+
| ID |     title     |        content          |
+----+---------------+-------------------------+
|  1 |   ITkezhan    |         IT客栈          |
+----+---------------+-------------------------+
1 row in set (0.00 sec)

相关文章

精彩推荐