20151215 Hibernate学习笔记------基本的配置和使用方法

20151215 Hibernate学习笔记——基本的配置和使用方法


Hibernate 基本配置

1. 下载 Hibernate

2. 导入jar包

将hibernate根目录\lib\required文件夹下的包全部导入,同时还需要导入数据库的驱动包.要注意的是因为要使用JPA标准的标签(需要import javax.persistence),所以还要导入jpa.jar包(百度一下下载即可).(看一些介绍说不用导此包也行,但我不导却报错了,待研究)

3. 配置xml文档

在中文html文档中有Hibernate.cfg.xml的示例,复制过来改即可.
修改后的配置文件如下:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings 数据库的设置 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost/hj_legend</property>
        <property name="connection.username">root</property>
        <property name="connection.password"></property>

        <!-- JDBC connection pool 连接池 (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect 数据库方言 -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache 缓存 -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout 输出sql语句 -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup 更新数据库(无则创建,有则不创建) -->
        <property name="hbm2ddl.auto">update</property>

        <!-- <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/> -->
        <!-- 配置持久化类的类名 -->
        <mapping class="com.hj.hibernate.bean.User"/>

    </session-factory>

</hibernate-configuration>

4. 用注解配置javaBean

package com.hj.hibernate.bean;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;


@Entity//说明此类是一个持久化类
@Table(name = "tb_user")//说明对应的数据库表名
public class User
{
    @Id//说明此字段是id
    @GeneratedValue(strategy=GenerationType.IDENTITY)//id自动增长
    private int userId;//以下三个字段为了简便命名与数据库中的命名相同,这样就不用单独配置了
    private String userName;
    private String password;

    public User()
    {
        super();
    }
    public User(String userName, String password)
    {
        super();
        this.userName = userName;
        this.password = password;
    }
    public int getId()
    {
        return userId;
    }
    public void setId(int id)
    {
        this.userId = id;
    }
    public String getUserName()
    {
        return userName;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }
    public String getPassword()
    {
        return password;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }


}

用Hibernate操作数据库

基本步骤:

  1. 获取Configuraction
  2. 获取SessionFactory
  3. 获取session并开始事务
  4. 用面向对象的方法操作数据库
  5. 关闭资源

java代码如下(向tb_user表中添加一条记录):

package com.hj.hibernate.test;

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

import com.hj.hibernate.bean.User;
/**
 * 12/15/2015 11:06:15 AM 
 * @author HangJian
 *
 */
public class Main
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        //获得配置
        Configuration cfg = new Configuration().configure();
        //获取sessionFactory
        SessionFactory sf = cfg.buildSessionFactory();
        //创建session
        Session sess = sf.openSession();
        //开始事务
        Transaction ts = sess.beginTransaction();
        //创建实体类的对象
        User user = new User("hjhjhjhjhjhj", "123");
        //保存
        sess.save(user);
        //提交事务
        ts.commit();
        //关闭session
        sess.close();
        sf.close();/**/


    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值