hibernate环境搭建myeclipse

首先,导入hibernate插件。


在任务栏help中选择install from site


点击add。出现如下图



点击Archive,然后找到文件导入核心插件的文件地址,并安装。然后点击下一步,知道最后,然后安装等待几分钟,myeclipse会提示重启,选择yes。

然后我们检查下是否安装成功,右击项目名称--new--other,如果有图中的hibernate文件夹,则安装成功


然后接下来,我们还要导入三类jar包到web-inf/lib中。


分别是hibernate的核jar包,单元测试junit的jar


以及数据库连接驱动jdbc,共计10个,一并导入lib。


接下来,就是编写一个小程序测试了。


project结构预览

首先,我们先写hibernate配置文件,右键src,选择other,hibernate文件夹下面第一项,然后一直next。

,在src下生成的配置文件,然后我们在修改

<?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.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">
			jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf-8
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password"></property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<!-- 		
		show_sql:是否把hibernate运行时时的sql语句输出到控制台,编码阶段用于测试 format_sql:输出到控制台的语句是否排版,便于阅读。 
		hbm2ddl.auto:帮助java代码生成数据库脚本。create|update|create-drop|validate,其中create是每次执行数据库,都会重新删除重建表。 
		dialect:是数据库方言,可以针对特殊数据库进行优化
		default_schema:添加默认的数据库前缀。 
		-->
		<property name="show_sql">false</property>
		<property name="format_sql">true</property>
		<property name="hbm2ddl.auto">create</property>
		<mapping resource="po/Students.hbm.xml" /><!--mapping映射,对应src下的实体类-->
	
	</session-factory>
</hibernate-configuration>


我们在po包里,建立个Students.java文件。

package po;

import java.util.Date;

public class Students {

	private int sid;
	private String sname;
	private String gender;
	private Date birthday;
	private String address;
	
	public Students() {
		super();
	}

	public Students(int sid, String sname, String gender, Date birthday,
			String address) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.gender = gender;
		this.birthday = birthday;
		this.address = address;
	}

	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "Students [sid=" + sid + ", sname=" + sname + ", gender="
				+ gender + ", birthday=" + birthday + ", address=" + address
				+ "]";
	}

}

我们再右键该Students.java文件,new-other,然后选择hibernate文件夹下的第四项

然后一直下一步,创建实体类与数据库的用映射文件Students.hdb.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2018-3-21 0:45:34 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="po.Students" table="STUDENTS">
        <id name="sid" type="int">
            <column name="SID" />
            <generator class="assigned" />
        </id>
        <property name="sname" type="java.lang.String">
            <column name="SNAME" />
        </property>
        <property name="gender" type="java.lang.String">
            <column name="GENDER" />
        </property>
        <property name="birthday" type="java.util.Date">
            <column name="BIRTHDAY" />
        </property>
        <property name="address" type="java.lang.String">
            <column name="ADDRESS" />
        </property>
    </class>
</hibernate-mapping>

然后再DButil包导入HibernateUtil.java文件。改文件用于对数据库进行连接,获得连接数据库对象那个,减少每次访问数据库时候的代码复用。

package DButil;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public final class HibernateUtil {
	private static SessionFactory sessionFactory;
	private static ThreadLocal session = new ThreadLocal();
	private HibernateUtil() {}
	static {
		Configuration cfg = new Configuration();
		cfg.configure();
		sessionFactory = cfg.buildSessionFactory();
		
	}

	public static Session getThreadLocalSession() {
			
		Session s = (Session) session.get();
		if (s == null) {
			//openSession 每次都是建立新的session对象
			//getCurrentSession,用用当前已有的session
			s = sessionFactory.openSession();
			session.set(s);
		}
		return s;
	}

	public static void closeSession() {
		Session s = (Session) session.get();
		if (s != null) {
			s.close();
			session.set(null);
		}
	}

}

然后,我们在项目名下创建个文件夹test,并在文件夹下创建个package,在package里面写个测试,看是否我,我们的hibernate能否成功。


userTest.java的代码

package ttt;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.Query;
import org.junit.Test;
import po.*;
import DButil.HibernateUtil;

public class userTest {
	public boolean saveUser(Students user) {
		Session s = null;
		Transaction tx = null;
		try {
			s = HibernateUtil.getThreadLocalSession();
			tx = s.beginTransaction();
			s.save(user);
			tx.commit();
			return true;

		} finally {
			HibernateUtil.closeSession();
		}
	}

	@Test
	public void testUser() {
		//main.listMemo();
		saveUser(new Students(1,"333","3344",new Date(),"333"));
		
	}

}

然后右键,run as,

junit视图若是显示绿色条,则运行成功。


数据库自动已经创建


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值