java项目中使用Hibernate的小例子

准备工作

  1. 下载Hibernate,地址http://hibernate.org/orm,即可下载最新版本,由于笔者用的书是以4.3.5来写的,为了统一我也使用这个版本的吧,下载地址
  2. 下载好后的压缩包解压后找到lib/required子目录下的所有jar包添加到应用的类加载路径中,我这里以eclipse为例,示例地址

做一个小例子

首先创建好hibernate.cfg.xml文件,eclipse有自带的工具去创建的,右击我们的java项目,选择【New】,找到Hibernate Configuration File,点击【next】
之后选择好保存的路径,一般我们是放在src文件夹下的,在点【next】
输入好数据库链接信息,点击【Finish】,就可以自动生成一个xml文件,我们还需要在这个xml文件中添加一些参数
配置好的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>
    	<!-- 指定连接数据库的驱动类 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- 指定连接的数据库的url,我这里是连接到本地的test数据库上 -->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
        <!-- 连接数据库的用户名 -->
        <property name="hibernate.connection.username">root</property>
        <!-- 连接数据库的密码(我这里是为空的) -->
        <property name="hibernate.connection.password"></property>
        <!-- 指定连接池中的最大连接数 -->
        <property name="hibernate.c3p0.max_size">20</property>
        <!-- 指定连接池中最小连接数 -->
        <property name="hibernate.c3p0.min_size">1</property>
        <!-- 指定连接池中连接的超时时长 -->
        <property name="hibernate.c3p0.timeout">5000</property>
        <!-- 指定连接池里最大缓存多少个Statement对象 -->
        <property name="hibernate.c3p0.max_statements">100</property>
        <!-- 指定数据库方言(就是说你这个数据库是什么类型的) -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!-- 设置:根据需要自动创建(更新)数据库表 -->
        <property name="hbm2ddl.auto">update</property>
        <!-- 显示Hibernate持久化操作所生成的SQL -->
        <property name="show_sql">true</property>
        <!-- 将SQL脚本进行格式化后再输出 -->
        <property name="hibernate.format_sql">true</property>
        <!-- 罗列所有持久化类的类名 ,在这里就是我们的entity-->
        <mapping class="entity.Person"/>
    </session-factory>
</hibernate-configuration>

之后我们创建一个类用于测试,内容如下
package test;

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;

import entity.Person;

public class Test {
	public static void main(String[] args) {
		//不带参数的configure方法将默认加载hibernate.cfg.xml文件,如果传入abc.xml作为参数
		//则不加载hibernate.cfg.xml,而改成abc.xml
		Configuration configuration = new Configuration().configure();

		ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
			.applySettings(configuration.getProperties()).buildServiceRegistry();
		
		//以Configuration实例创建SessionFactory实例
		SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
		
		//创建Session
		Session session = sessionFactory.openSession();
		
		//开始事务
		Transaction transaction = session.beginTransaction();
		
		//创建消息对象,并设置属性
		Person person = new Person();
		person.setName("admin");
		person.setWeight(100.5);
		
		//保存消息
		session.save(person);
		//提交事物
		transaction.commit();
		session.close();
		sessionFactory.close();
	}
}

如果在控制台中没有什么问题,并且数据库中加入了admin这条数据的话,说明hibernate已经可以使用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值