Hibernate5-初始

1.创建项目,项目名称hibernatedemo2,目录结构如图所示

2.在项目中创建lib目录存储jar文件,目录结构如图所示

3.在src目录中创建实体Bean Forum,包名(com.mycompany.demo.bean),如图所示

4.实体Bean Forum的内容如下

package com.mycompany.demo.bean;

public class Forum {
	private int fid;
	private String name;

	public Forum() {
		super();
	}
	public Forum(String name) {
		super();
		this.name = name;
	}
	public int getFid() {
		return fid;
	}
	public void setFid(int fid) {
		this.fid = fid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + fid;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Forum other = (Forum) obj;
		if (fid != other.fid)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
}

5.在src目录中创建实体Bean Forum的映射文件Forum.hbm.xml,包名(com.mycompany.demo.bean),如图所示

6.映射文件Forum.hbm.xml的内容如下

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 

<hibernate-mapping>
   <class name="com.mycompany.demo.bean.Forum" table="hnsq_forum">
      <meta attribute="class-description">
         This class contains the forum detail. 
      </meta>
      <id name="fid" type="int" column="fid">
         <generator class="native"/>
      </id>
      <property name="name" column="name" type="string"/>
   </class>
</hibernate-mapping>

7.在src目录中创建Hibernate的配置文件hibernate.cfg.xml,如图所示

8.Hibernate的配置文件hibernate.cfg.xml的内容如下

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
	   <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
	   <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

	   <!-- Assume test is the database name -->
	   <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/b_shequ_two</property>
	   <property name="hibernate.connection.username">
	      root
	   </property>
	   <property name="hibernate.connection.password"></property>
	   <property name="hibernate.hbm2ddl.auto">update</property>
	   <property name="hibernate.show_sql">true</property>
	   <property name="hibernate.format_sql">true</property>
	   <!-- 事务环境一个线程对一个事务 -->
	   <property name="hibernate.current_session_context_class">thread</property>	   

	   <!-- List of XML mapping files -->
	   <mapping resource="com/mycompany/demo/bean/Forum.hbm.xml"/>
</session-factory>
</hibernate-configuration>

9.在项目中创建test目录存储测试文件,文件名称ManageForum,包名(com.mycompany.demo.bean),目录结构如图所示

10.ManageForum测试类的内容如下

package com.mycompany.demo.bean;

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

public class ManageForum {

	@Test
	public void currentSession(){
		//1.加载配置文件与映射文件
		Configuration configure = new Configuration().configure();
		//2.创建Session工厂对象
		SessionFactory sessionFactory = configure.buildSessionFactory();
		//3.生成Session对象
		Session session = sessionFactory.getCurrentSession();
		Transaction transaction = null;
		try {
			//4.开启事务
			transaction = session.beginTransaction();
			//5.执行操作
			Forum forum = new Forum("getCurrentSession");
			session.save(forum);
			//6.提交事务
			transaction.commit();
		} catch (Exception e) {
			//7.回滚事务
			if(transaction != null){
				transaction.rollback();
			}
			e.printStackTrace();
		}
	}
}
时间: 2024-10-12 00:49:17

Hibernate5-初始的相关文章

spring4整合hibernate5.1

在另一篇文章hibernate5(2)初入门配置实例中,我们针对hibernate5.1版本的崭新引导配置方法,完成了对数据库的的插入实例操作,在本节内容中,我们开始引入spring4,完成spring4与hibernate5.1的整合工作,像数据库中插入一条记录.在后面学习hibernate中,我们都会使用spring来管理我们的Bean容器. 1. 导入spring4所需jar包 我们推荐使用maven来管理项目,下面是maven中的spring整合hibernate完整配置. <prope

黑马程序员---C基础9【字符串的输入输出】【字符串相关函数】【指针】【指针变量初始】【二级指针】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [字符串的输入输出] 1.字符串输出: %s-------从给定的地址开始输出字符直到遇到\0停止: printf("%s\n",&a[3]);  printf("%s\n",a); char a[]="hellowo\0rd!"; 2.字符串输入: 从键盘上接收一个字符串,保存在以a为首地址的字符数组中 scanf("%s&

OVS的初始配置

1.去掉bridge模块,为下面用OVS的模块奠定基础 rmmod bridge 2.insmod datapath/linux/openvswitch_mod.ko 3.insmod datapath/linux/brcompat_mod.ko 4.nkdir -p /usr/local/etc/openvswitch OVS的初始配置,布布扣,bubuko.com

初始ASP.NET数据控件【续 ListView】

ListView控件   ListView控件可以用来显示数据,它还提供编辑,删除,插入,分页与排序等功能.ListView是GridView与DataList的融合体,它具有GridView控件编辑数据的功能同时还具有DataList控件的灵活布局的功能.ListView控件的分页功能需要通过DataPager控件来实现. ListView控件的模版 LayoutTemplate:标识定义控件的主要布局的根模版.包含一个占位符对象,如表行(tr),div,span元素.此元素将由ItemTem

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

Centos7制作docker初始镜像

Centos7用febootstrap制作docker初始镜像包 使用工具:febootstrap 下载地址:http://down.51cto.com/data/2330414 使用命令: febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos7  /tmp/centos-image/  ht

Java变量的初始值

Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a;         // a的初始值为0 如下例中的成员变量a,b,c,d public class VariableInitialValue { public static void main(String args[]) { TestVariable obj = new TestVariable(); System.out.println("a="+obj.a); System.out.p

微信小程序--获取form表单初始值提交数据

<form bindsubmit="formSubmit"> <view class="txt"> <view class="ima"></view> <view class="txt2">姓名</view> <input placeholder="请输入姓名" maxlength="10" class=&qu

C#中将dateTimePicker初始值设置为空

最近在做一个小项目,有一个功能是根据用户选择条件查询数据,要求时间控件的默认值为空,只有当用户修改了时间,才根据时间查询.简单的说,就是默认或者点击清空按钮的情况下,时间控件dateTimePicker的值为空,当触发事件ValueChanged时再显示相对应的时间. 开始,我以为修改控件的默认值为空就可以了,但是我失败了,dateTimePicker不允许空值.尝试了很多次之后我开始在网上找资料,寻到了如下方法: 窗体初始化或者放一个清空按钮,点击清空按钮时执行如下代码: C#代码 : thi

vagrant初始登录失败的一般性解决方案

vagrant初始登录失败的一般性解决方案 http://www.cnblogs.com/csliwei/p/5860005.html 今天mac机上,遇到的 vagrant halt && vagrant up后 一直卡在: ==> default: Running 'pre-boot' VM customizations...==> default: Booting VM...==> default: Waiting for machine to boot. This