使用Hibernate实现用户添加

准备工作

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

创建工程

File->new->Java Project
在这里插入图片描述

导包

右键项目->Properties
在这里插入图片描述
选择Add Library…
选择User Library
在这里插入图片描述
选择User Libraries…->new
在这里插入图片描述
选择Add External JARs…
添加hibernate的jar包
在这里插入图片描述
在这里插入图片描述
再添加数据库驱动jar包
在这里插入图片描述

添加日志jar包
在这里插入图片描述

添加配置文件

在这里插入图片描述
在hibernate-release-5.2.10.Final\project\etc下找到log4j.properties将其拷贝到src下

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

在这里插入图片描述
选择加号->JAR List->Add JAR,添加数据库驱动的jar包
在这里插入图片描述
创建数据库
在这里插入图片描述
Test Connection测试URL是否正确
在这里插入图片描述

完成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类
在这里插入图片描述

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-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,类中进行保存的操作
在这里插入图片描述

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();
		}	
	}
}

数据库查表
在这里插入图片描述
添加成功

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值