hibernatea环境搭建

 一、加入相关jar包


 

        maven方式: 加入hibernate-core依赖即可

 

二、在src下加入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>
    
		<!-- 配置连接数据库的基本信息 -->
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql:///hibernate</property>
		
		<!-- 配置 hibernate 的基本信息 -->
		<!-- hibernate 所使用的数据库方言 -->
		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>		
		
		<!-- 执行操作时是否在控制台打印 SQL -->
		<property name="show_sql">true</property>
	
		<!-- 是否对 SQL 进行格式化 -->
		<property name="format_sql">true</property>
	
		<!-- 指定自动生成数据表的策略 -->
		<property name="hbm2ddl.auto">create</property>
		
		<!-- 指定关联的 .hbm.xml 文件 -->
		<mapping resource="com/wr/hibernate/entity/User.hbm.xml"/>
	
	</session-factory>

</hibernate-configuration>

 

三、加入实体类及其配置文件

 

package com.wr.hibernate.entity;

import java.sql.Date;

public class User {
	private int id;
	private String name;
	private int age;
	private Date birth;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Date getBirth() {
		return birth;
	}

	public void setBirth(Date birth) {
		this.birth = birth;
	}

}

 
 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.wr.hibernate.entity">

	<class name="User" table="user" dynamic-insert="true">

		<id name="id" type="java.lang.Integer">
			<column name="id" />
			<!-- 指定主键的生成方式, native: 使用数据库本地方式 -->
			<generator class="native" />
		</id>

		<property name="name" type="java.lang.String">
			<column name="name" />
		</property>


		<property name="age" type="java.lang.Integer">
			<column  name="age" />
		</property>

		<property name="birth" type="java.sql.Date">
			<column name="birth" />
		</property>


	</class>

</hibernate-mapping>

 

四、测试

 

package com.wr.hibernate.test;

import java.util.Calendar;
import java.sql.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.boot.registry.internal.StandardServiceRegistryImpl;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import com.wr.hibernate.entity.User;

public class TestHelloWorld {

	@Test
	public void before() {
		// 1.读取hibernate配置
		Configuration cfg = new Configuration().configure();
		// 2.创建sessionfactory
		StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
				.applySettings(cfg.getProperties());

		StandardServiceRegistryImpl registry = (StandardServiceRegistryImpl) builder.build();

		SessionFactory sessionFactory = cfg.buildSessionFactory(registry);

		// 3.创建session
		Session session = sessionFactory.openSession();

		// 4.开启事务
		Transaction tx = session.beginTransaction();
		// 5.执行操作
		User user = new User();
		user.setAge(26);
		user.setName("WangRui");
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.YEAR, 1990);
		calendar.set(Calendar.MONTH, 10);
		calendar.set(Calendar.DATE, 12);
		user.setBirth(new Date(calendar.getTimeInMillis()));
		session.save(user);
		//6.提交事务
		tx.commit();
		// 7.关闭seesion
		session.close();
		
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值