MyEclipse中搭建Hibernate环境
前提一:下载好hibernate-release-xxxx.Final,我使用的是hibernate-release-5.0.1.Final,下载地址是:Hibernate官网具体下载步骤见我的另一篇博客: 解压得到如下: 前提二:Hibernate是持久层的框架,那么你的电脑上得有个数据库,或者将来你的程序要能连上一个远程数据库,很重要的一点是:你要清楚你的数据版本是多少,并且准备好相对应的连接驱动jar包,如果jar版本搞错了,这个错误你可能要排一天…… 我的数据库版本:
所以我可以用MySQL-connector-java-5.1.7-bin.jar 一、打开MyEclipse,因为只是单独搭建Hibernate环境,所以可以单纯地见一个Java PRoject,取名随意,我的就叫Hibernate 二、在工程里新建一个文件夹用来放所需jar包,和src同级目录下
三、到hibernate-release-5.0.1.Final文件夹下去拷贝所需jar到lib文件夹下 具体包含哪些jar看自己需求,我的因为包含一个c3p0连接池和需要输出调试日志,所以jar比较多,如下
可以看到,连接数据的jar也在其中,下一步就是选中所有jar,右击BuildPath—>Configur BuildPath,这样jar就准备好了 四、创建实体类
五、编写实体映射文件,映射文件的存放位置与实体所在的包一致,名字格式为:xxxx.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hibernate.beans"> <!-- 映射文件的作用 1)类到表的映射 2)属性到字段的映射 --> <class name="Student" table="t_student"> <id name="id" column="t_id"> <!-- 主键生成策略 --> <generator class="native"></generator> </id> <property name="name" column="t_name"></property> <property name="age" column="t_age"></property> <property name="score" column="t_score"></property> </class> </hibernate-mapping>六、编写Hibernate主配置文件,配置文件命名是固定的,必须为:hibernate.cfg.xml,一般放在src根目录下
七、测试是否成功 到此环境已经搭建的差不多了,测试一下环境是否可用,最直接的方式是往数据库中插入一条数据
package com.hibernate.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.hibernate.beans.Student;public class TestHibernate { public static void main(String[] args) { /** * 第一步:加载配置 */ Configuration configure = new Configuration().configure(); /** * 第二步:获取sessionFactory */ SessionFactory sessionFactory = configure.buildSessionFactory(); /** * 第三步:获取session对象 */ Session session = sessionFactory.getCurrentSession(); /** * 第四步:开启事务 */ try { session.beginTransaction(); /** * 第五步:执行操作 */ Student student = new Student("李四", 20, 89.9); //执行操作 session.save(student); /** * 第六步:提交事务 */ session.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); // 回滚 session.getTransaction().rollback(); } }}结果显示如下: 文中涉及jar包等资源在群:511906138 均有!
新闻热点
疑难解答