环境搭配需注意版本的搭配:
Eclipse Java EE IDE(4.7.2)
hibernate包5.0.12
MySQL数据库(jar包是5.1.45版本)
下面开始搭建:
(1)先安装hibernate插件:打开Eclipse -> 点击Help ->Eclipse Marketplace ,输入JBoss Tools回车 -> 选择JBoss Tools 4.5.2.Final ->Install
(2)勾选相应库(也可以全选)-> confirm -> 一路默认,会提示重启Eclipse。
(3)验证hibernate 插件是否安装成功
重启Eclipse后 右键 -> New -> Other ,如果有HIbernate文件夹以及以下文件,表明HIbernate插件安装成功
下面开始测试例子的编写
(4)新建Java Project 工程 : HelloHibernate ,然后新建lib文件夹:右击HelloHIbernate -> New -> Folder -> lib。
复制以下文件到 lib 文件夹目录下:(其实就是我们下载的HIbernate包中lib -> required下的所有jar文件)
(5)(上篇文章有介绍如何把HIbernate包添加到工程,补充:添加HIbernate的外包时把lib 下的jar 文件都添加)添加
Hibernate外包:右击HelloHibernate -> Build Path -> Config Build Path -> Library -> Add Library ->User Library
->勾选需要的外包(我的是HIbernate5.0.12)->Finish
(6) 添加 mysql 包: 右击HelloHibernate -> Build Path -> Config Build Path -> Library -> Add External JARs ->添加数据 库连接的 jar。
(7) 终于可以编写代码了。。。。src目录下新建包com.home.hibernate,然后新建User.java
package com.home.hibernate;
public class User {
private String name;
private String passsword;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasssword() {
return passsword;
}
public void setPasssword(String passsword) {
this.passsword = passsword;
}
public User(String userName, String password) {
super();
this.name = userName;
this.passsword = password;
}
public User() {
super();
}
}
(8)右
击HelloHibernate -> Build Path -> Config Build Path -> Add Library-> JUnit ->选择JUnit 4 -> Finish
(9)如今该配置的,该添加的包都齐全了!!!接下来就是重要步骤了:
右击com.home.hibernate -> New -> Other ->Hibernate ....(选择...Map...xml ) ->next -> 选择com.home.hibernate->选择User..
注意一下:生成映射文件时 只需勾选你需要的
(10)下面来瞧一瞧这个映射文件,根据自己建的数据库的表,对相应的地方进行修改:
<?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-1-24 13:59:57 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<class name="com.home.hibernate.User" table="usr">//usr是对应你MySQL数据库中表的名字
<id name="name" type="java.lang.String"> //name是指你User.java 里的name变量
<column name="name" />//name是你数据库里的列名
<generator class="assigned" />
</id>
<property name="passsword" type="java.lang.String">//同上
<column name="password" />//同上
</property>
</class>
</hibernate-mapping>
(11)
右击com.home.hibernate -> New -> Other ->Hibernate Configuration File(cfg.xml) -> Finish
(12)来研究研究hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 1. 配置连接数据库的基本信息 -->
<property name="connection.username">root</property>//用户名
<property name="connection.password">2018</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/Login</property>//Login是我自己新建的数据库
<!-- 2. 配置hibernate 的基本信息 -->
<!-- hibernate 所使用的数据库方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<!-- 执行操作时是否在控制台打印SQL -->
<property name="show_sql">true</property>
<!-- 是否对SQL 进行格式化 -->
<property name="format_sql">true</property>
<!-- 指定自动生成数据表的策略 -->
<property name="hbm2ddl.auto">update</property>
<!-- 指定关联的 .hbm.xml 文件 User.hbm.xml就是上一步的映射文件-->
<mapping resource="com/home/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
(13)终见天日!最后新建HIbernateTest.java测试下:注意了这个Java文件可是不一样的!!!
它是这么诞生的:右击com.home.hibernate -> New -> Other -> 输入JUnit Test回车 -> JUnit Test Case ->取名字 - -> Finish.(这也许就是为啥要添加Junit 4 Library 的原因吧,也就是步骤8)
HIbernateTest.java
package com.home.hibernate;
import static org.junit.Assert.*;
import org.hibernate.SessionFactory;
import org.junit.Test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class HibernateTest {
@Test
public void test() {
//1. 创建一个SessionFactory 对象
SessionFactory sessionFactory = null;
sessionFactory = new Configuration().configure().buildSessionFactory();
//2. 创建一个 Session 对象
Session session = sessionFactory.getCurrentSession();
//3. 开启事务
Transaction transaction = session.beginTransaction();
//4. 执行保存操作
User user = new User("Sky","333");
session.save(user);
//5. 提交时务
transaction.commit();
//6. 关闭 Session
session.close();
//7. 关闭 SessionFactory 对象
sessionFactory.close();
}
}
LaLaLa: 操作执行后 ,可以查看数据库Login ,表usr 中是否添加了一条记录(sky ,333)。本人是刚开始用MySQL(之前一直是SQLSever)。
忘记了一个重要的事:需要把mysql的jar包 添加到Tomcat的lib目录下,不然运行时出Bug的!!!
最后放一张工程目录图: