使用Hibernate实现用户添加

准备工作

环境:Eclipse;MySQL
导入Hibernate库(jar包 ;MySQL驱动包 ;log4j日志包。
Hibernate库下载网站: http://sourceforge.net/projects/hibernate/files/

创建工程

File->new->Java Project
使用Hibernate实现用户添加

导包

右键项目->Properties
使用Hibernate实现用户添加
选择Add Library…
选择User Library
使用Hibernate实现用户添加
选择User Libraries…->new
使用Hibernate实现用户添加
选择Add External JARs…
添加hibernate的jar包
使用Hibernate实现用户添加
使用Hibernate实现用户添加
再添加数据库驱动jar包
使用Hibernate实现用户添加

添加日志jar包
使用Hibernate实现用户添加

添加配置文件

使用Hibernate实现用户添加
在hibernate-release-5.2.10.Final\project\etc下找到log4j.properties将其拷贝到src下

在hibernate-release-5.2.10.Final\project\etc下找到hibernate.cfg.xml将其拷贝到src下
使用Hibernate实现用户添加
打开hibernate.properties,找到如下代码,此处有相应的配置信息
使用Hibernate实现用户添加
进行方言、连接数据库驱动、统一资源定位器、的配置
使用MySQLInnoDBDialect可以支持事务
Windows->Show View->Data Management->Data Source Explorer
右键Database Connections->new->MySQL

使用Hibernate实现用户添加
选择加号->JAR List->Add JAR,添加数据库驱动的jar包
使用Hibernate实现用户添加
创建数据库
使用Hibernate实现用户添加
Test Connection测试URL是否正确
使用Hibernate实现用户添加

完成hibernate.cfg.xml中的配置

<hibernate-configuration>
	<session-factory>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hellohibernate</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<property name="show_sql">true</property>
		<mapping resource="cn/hrbust/pojo/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

添加实体类和映射文件

src下创建User类
使用Hibernate实现用户添加

package cn.hrbust.pojo;

import java.sql.Date;

public class User {
	private int id;
	private String name;
	private String gender;
	int age;
	Date birthday;
	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 String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
}


创建数据库T_USER表
使用Hibernate实现用户添加
在hibernate-release-5.2.10.Final文件夹中搜索Simple.hbm.xml文件,将其拷贝到/helloHibernate/src/目录下并改名为User.hbm.xml,修改完的代码如下。

<hibernate-mapping>

    <class name="cn.hrbust.pojo.User" table="t_user">
        <id name="id" column="id">
            <generator class="native"/> <!-- 根据底层数据库自动选择 -->
        </id>
        <property name="name"/>
        <property name="gender"/>
        <property name="age"/> 
        <property name="birthday"/>
    </class> 

</hibernate-mapping>

回到hibernate.cfg.xml中修改代码 < mapping resource=“cn/hrbust/pojo/User.hbm.xml”/>

使用Hibernate的7个步骤

1.创建Configuration对象,负责读取hibernate.cfg.xml
2.创建SessionFactory,负责ORM框架的持久化操作
3.创建Session
4.开始一个事务
5.持久化操作save/update/delete/get
6.提交事务
7.关闭Session

具体操作如下:
src下创建包cn.hrbust.dao,类manageUser,类中进行保存的操作
使用Hibernate实现用户添加

package cn.hrbust.dao;

import java.sql.Date;

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

import cn.hrbust.pojo.User;

public class manageUser {
	public static void main(String[] args) {
		Configuration cfg = null;
		SessionFactory sf = null;
		Session session = null;
		Transaction ts = null;
		//创建user
		User u = new User();
		u.setName("赵四");
		u.setGender("男");
		u.setAge(21);
		u.setBirthday(Date.valueOf("2000-1-1"));
		try {
			//创建Configuration对象
			cfg = new Configuration().configure();
			//创建Session工厂
			sf = cfg.buildSessionFactory();
			//创建Session
			session = sf.openSession();
			//创建事务
			ts = session.beginTransaction();
			//持久化操作:session保存对象
			session.save(u);
			//提交事务
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			if(ts != null) {
				ts.rollback();
			}
		}finally {
			//关闭session
			session.close();
			sf.close();
		}	
	}
}

数据库查表
使用Hibernate实现用户添加
添加成功

上一篇:Java面试题-框架篇八


下一篇:Java学习笔记在互联网上火了,神操作!