Hibernate入门(1)——环境搭建
什么是Hibernate?为什么使用Hibernate?Hibernate有什么优缺点?网上很多大神的文章又详细又通俗易懂。
步骤:
1、创建数据库表格。
2、编写JavaBean实体类。
3、下载Hibernate用到的的Jar包。
4、创建Web工程。
5、导入需要的Jar包(我们下载的可能有些是不需要的,只要导入用到的jar包就行)。
6、创建类与表结构的映射(javabean实体类中属性和相应表格的列的映射)。
7、编写Hibernate配置文件。
8、编写测试类。
具体实现:
1、创建数据表格
为了方便,我们之创建一个简单的表格用于测试就行了。
表格名字叫 user,里面有四列 id,username,pwd ,cellphone
SQL代码
//创建数据库 CREATE DATABASE Hib_test; //创建数据表格 CREATE TABLE user( id INT, username ), pwd ), cellphone ) )
输出结果:

注释
使用的数据库是MySql,使用的界面操作工具是SQLyog
2、编写JavaBean实体类。
我们写一个个JavaBean的实体类。
JAVA代码
package com.hibernate.test;
public class User {
private int id;
private String username;
private String pwd;
private String cellphone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String password) {
this.pwd = password;
}
public String getCellphone() {
return cellphone;
}
public void setCellphone(String cellphone) {
this.cellphone = cellphone;
}
}
3、下载Hibernate用到的的Jar包。
下载地址:http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download
下载下来,解压后的目录为:

lib文件夹里面是框架所包含的jar包
project文件里面是项目案例
document文件夹是教程以及API等
4、创建Web工程。
创了个叫HibernateDemo的Web项目。

5、导入需要的Jar包
a、Hibernate需要的核心包,就是解压出来的目录(hibernate-release-5.0.7.Final\lib\required)下的所有jar包。
b、导入数据库驱动包,我用的的是MySql所以导入MySql的依赖包,这个jar包需要网上下载,网上有很多。
将下面的这些jar包复制到项目里的WebContent/WEB-INF/lib目录下面

6、创建类与表结构的映射文件
创建表结构的映射就是一个xml文件,他可以告诉Hibernate哪个数据表和哪个JavaBean类相关联的。
这个表结构映射的xml文件有一定要要求或者说是规范吧:
a、命名规范,一般是:类的名字.hbm.xml
在上面的例子中就是:User.hbm.xml。
b、存放位置:一般把则个文件与他的Java类放在一起。

映射文件:
<?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>
<!--类名为User,表名也为User-->
<class name="com.hibernate.test.User" table="user">
<!--主键映射,属性名为id,列名也为id-->
<id name="id" column="id">
<!--下面这个属性的作用是:根据所使用的数据库主键自动增长,这里使用的int类型的数据-->
<generator class="native"/>
</id>
<!--非主键映射,属性和列名一一对应-->
<property name="username" column="username"/>
<property name="cellphone" column="cellphone"/>
<property name="pwd" column="pwd"/>
</class>
</hibernate-mapping>
注释
映射文件模板大多都一样的,可以在下载的案例中找到一个模板,然后做写修改就行。详细的属性之后再详细讨论。
<hibernate-mapping>
<class name="com.hibernate.test.User" table="user">
<id name="java类属性" column="数据表主键">
<generator class="native"/>
</id>
<property name="java类属性" column="数据表格列名"/>
</class>
</hibernate-mapping>
7、编写Hibernate配置文件
跟上面的映射文件一样,这个核心配置文件也是一个xml文件,你可以在(hibernate-release-5.0.7.Final\project\etc)目录下找到这个文件的模板。然后做一些修改,应用到自己的项目里。
还是跟上面的映射文件一样,这里的文件也有一定的要求:
a、文件名为:hibernate.cfg.xml (这里的cfg是configure的缩写?)
b、文件放在src目录下。

配置文件的属性:
a、必须配置:数据库链接配置
<property name="hibernate.connection.driver_class">数据库驱动</property>
<property name="hibernate.connection.url">数据库链接url</property>
<property name="hibernate.connection.username">数据库用户名</property>
<property name="hibernate.connection.password">数据库密码</property>
b、必须配置:数据库方言,用来生成适应不同数据库sql语句的配置。
<property name="hibernate.dialect"></property>
c、必须配置:引入配置文件的配置
<mapping resource="映射文件的路径,格式是:包名.配置文件名"/>
d、可选配置:用于把Hibernate生成的sql语句输出到控制台的配置,为了调试方便我们可以用这些配置查看Hibernate对数据库执行了哪些sql语句等等。
<!-- 显示hibernate在运行时候执行的sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化sql -->
<property name="hibernate.format_sql">true</property>
<!-- 自动建表 -->
<property name="hibernate.hbm2ddl.auto">create</property>
Hibernate配置文件的具体修改后的样子:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- 通常,一个session-factory节点代表一个数据库 -->
<session-factory>
<!-- 1. 数据库连接配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///Hib_test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<!--
数据库方法配置, hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 2. 其他相关配置 -->
<!-- 2.1 显示hibernate在运行时候执行的sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 2.2 格式化sql -->
<property name="hibernate.format_sql">true</property>
<!-- 2.3 自动建表 -->
<property name="hibernate.hbm2ddl.auto">create</property>
<!--3. 加载所有映射-->
<mapping resource="com/hibernate/test/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
8、编写测试类。
测试类代码 package com.app.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.hibernate.test.User;
public class App {
public static void main(String[] args) {
//新New一个User对象,然后设置其的值
User user=new User();
user.setPwd("123456");
user.setUsername("Eastry");
user.setId(333);
user.setCellphone("1234567");
//加载配置文件,默认加载的是src目录下的hibernate.cfg,xml文件,当然也可以给一个加载的路径,这样的话配置文件就不一定要放在src目录下面了
Configuration configuration=new Configuration();
configuration.configure();
//创建Session工厂,用来获取Session对象
SessionFactory factory=configuration.buildSessionFactory();
Session session=factory.openSession();
//开启事务
Transaction transaction=session.getTransaction();
transaction.begin();
//保存操作
session.save(user);
//提交事务
transaction.commit();
//释放资源
session.close();
System.out.println("successful!");
}
}
输出:

上面我尝试了保存一个javaBean对象到数据库里。
Hibernate还 可以读取数据库的数据把数据映射到一个JavaBean对象上面。
之后再讨论。
Hibernate入门(1)——环境搭建的更多相关文章
- 最新版ssh hibernate spring struts2环境搭建
最新版ssh hibernate spring struts2环境搭建 最新版spring Framework下载地址:spring4.0.0RELEASE环境搭建 http://repo.sprin ...
- 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建
003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- scala 入门Eclipse环境搭建
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...
- 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布
Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...
- scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...
- 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)
总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■ CLI是Command-Lin ...
- Hibernate 系列 02 - Hibernate介绍及其环境搭建
引导目录: Hibernate 系列教程 目录 昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归 ...
- Hibernate 介绍及其 环境搭建
介绍 数据持久化概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如:文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型, ...
- JAVA WEB快速入门之环境搭建
前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...
随机推荐
- A. Banana (2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛)
题目大意是有一堆猴子,然后每个猴子都有自己喜欢的香蕉类型,然后香蕉会在指定的位置,问每个猴子能不能在每个地方吃到自己喜欢的香蕉. 其实直接暴力即可(因为最大最大最大是50) 上代码: #include ...
- Chemistry in Berland CodeForces - 846E
题目 题意: 有n种化学物质,第i种物质现有bi千克,需要ai千克.有n-1种,编号为2-n的转换方式,每种都为(x,k),第i行是编号为i+1的转换方式,编号为i的转换方式(xi,ki)表示ki千克 ...
- vscode中将本地数据push至git repository
1.新建repository 2.本地写好的代码 3.执行git init 初始化git配置文件 4.提交已暂存文件 5.填写提交信息 6.执行push命令 7.完成
- H+后台主题UI框架---整理(三)
这里面介绍下H+后台主题UI框架里面插件的应用,不过都是最最简单最初级的功能.主要有日历插件,input单选多选(icheck)插件,input下拉搜索(chosen)插件. 一.日历插件 有如下几种 ...
- let块级引起的闭包思考
因为es6在node中用的比较频繁,最近在按计划根据阮一峰的es6教程从头开始学习一遍, 第一步遇到的就是“看似非常熟悉”的let小伙伴,核心character如下: 即:let变量的作用域只在块内. ...
- 亲身经历,Java面试题整理
博主在2015年暑期参加过一些Java开发工程师实习的面试和笔试,在此将重点整理出来,以供大家学习. 资料1: 一.单继承 1.1Java类是否支持多重继承? 答:继承的基本原则是: 子类继承父类的所 ...
- JVM补充一
一.为什么废弃永久代(PermGen) 2.1 官方说明 参照JEP122:http://openjdk.java.net/jeps/122,原文截取: Motivation This is part ...
- js数组引用
总结归纳: 1.普通的赋值是复制栈区内容. 2.基本类型的数据在栈区存放数据自身,var a=b; //a与b无关. 引用类型数据在栈区存放数据地址. var a=b; //a,b联动 3.基本数据 ...
- JavaScript也谈内存优化
相对C/C++ 而言,我们所用的JavaScript 在内存这一方面的处理已经让我们在开发中更注重业务逻辑的编写.但是随着业务的不断复杂化,单页面应用.移动HTML5 应用和Node.js 程序等等的 ...
- Git 版本控制系统的基本使用、常用操作
以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配 ...