Hibernate开发环境搭建
一、下载Hibernate包的下载
官网地址:http://hibernate.org/orm/
下载版本:hibernate-release-4.3.11.Final
二、Hibernate jar包介绍
包名 |
用途 |
hibernate-core-4.3.11.Final.jar | Hibernate核心包 |
antlr-2.7.7.jar | Hibernate利用它实现从HQL到SQL的转换 |
dom4j-1.6.1.jar | 解析XML配置文件和XML映射文件 |
hibernate-commons-annotations-4.0.5.Final.jar | Hibernate注解包 |
hibernate-jpa-2.1-api-1.0.0.Final.jar | JPA2.1接口库 |
jandex-1.1.0.Final.jar | 用来索引Anotation的 |
javassist-3.18.1-GA.jar | Hibernate用它来实现PO字节码的动态生成 |
jboss-logging-3.1.3.GA.jar | 日志服务通用库 |
jboss-logging-annotations-1.2.0.Beta1.jar | 实现带注释的借口的具体实现类 |
jboss-transaction-api_1.2_spec-1.0.0.Final.jar | JTA规范包 |
三、Hibernate核心配置文件
hibernate.cfg.xml:是Hibernate的核心配置文件,主要功能有:
四、搭建Hibernate开发环境
五、测试代码
1、 创建学生表
hibernate.cfg.xml配置文件
<!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> <!-- 配置数据库连接 -->
<!-- Hibernate的方言:生成SQL语句的规则 -->
<property name="hibernate.dialect">
org.hibernate.dialect.MySQL5Dialect
</property>
<!-- 数据库驱动包 -->
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- 数据库URL地址 -->
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/test
</property>
<!-- 用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 密码 -->
<property name="hibernate.connection.password">root</property> <!-- 是否输出SQL语句 -->
<property name="show_sql">true</property>
<!-- 是否格式化SQL语句 -->
<property name="format_sql">true</property> <!-- 如果对象有更新则重新生成SQL表
create:重新生成
update:更新
-->
<property name="hbm2ddl.auto">update</property> <!-- 注册实体映射文件 -->
<mapping resource="com/lxit/entity/Student.hbm.xml" />
</session-factory>
</hibernate-configuration>
2、学生类
package com.lxit.entity; import java.io.Serializable; public class Student implements Serializable{ public Student(){}
/**
*
*/
private static final long serialVersionUID = 1L; public Student(String loginId, String loginPwd, String realName, String phone, String address, String email) {
super();
this.loginId = loginId;
this.loginPwd = loginPwd;
this.realName = realName;
this.phone = phone;
this.address = address;
this.email = email;
}
private String loginId;
private String loginPwd;
private String realName;
private String phone;
private String address;
private String email; public String getLoginId() {
return loginId;
}
public void setLoginId(String loginId) {
this.loginId = loginId;
}
public String getLoginPwd() {
return loginPwd;
}
public void setLoginPwd(String loginPwd) {
this.loginPwd = loginPwd;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public static long getSerialversionuid() {
return serialVersionUID;
} }
3、实体映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
<class name="com.lxit.entity.Student" table="Student"> <id name="loginId" column="loginId">
<generator class="assigned"></generator>
</id> <property name="loginPwd" column="loginPwd"></property>
<property name="realName" column="realName"></property>
<property name="phone" column="phone"></property>
<property name="address" column="address"></property>
<property name="email" column="email"></property> </class>
</hibernate-mapping>
4、测试类
package com.lxit.test; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test; import com.lxit.entity.Student; public class StudentTest { //@Test
public void createTable(){
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true); //创建表,在控制台输出SQL语句
} @Test
public void add(){
Configuration cfg = new Configuration().configure(); //hibernate3.0版本创建sessionFactory的方法
//SessionFactory factory = cfg.buildSessionFactory(); //hibernate4.0版本创建sessionFactory方法
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties());
ServiceRegistry sr = ssrb.build();
SessionFactory factory = cfg.buildSessionFactory(sr);
Session session = factory.openSession();
Transaction tran = session.beginTransaction(); Student stu = new Student("zhangsan", "123123", "张三", "12345678901", "广东深圳", "zhangsan@163.com"); try {
session.save(stu);
tran.commit();
System.out.println("保存成功!");
} catch (Exception e) {
tran.rollback();
}finally{
session.close();
factory.close();
}
}
}
Hibernate开发环境搭建的更多相关文章
- 手把手在MyEclipse中搭建Hibernate开发环境
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53414303冷血之心的博客) 在MyEclipse中如何搭建Hib ...
- spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明
一.准备工作 开始之前,先参考上一篇: struts2.3.24 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明 struts2.3 ...
- Java 开发环境搭建
找到一篇很不錯的Java開發環境搭建的博客, 原文地址為:http://www.cnblogs.com/bribe/p/3377008.html Java 开发环境搭建 一.开发工具获取 1.开发工具 ...
- [Hibernate 1]Hibernate的环境搭建
一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...
- Java基本开发环境搭建(适合第一次使用)
Java基本开发环境搭建(适合第一次使用) 编写人:cc 阿爸 2013-10-17 一.开发工具获取 1.开发工具包JDK l 下载地址: 到ORACLE公司官方网站(http://www.ora ...
- 工作流--JBPM简介及开发环境搭建
一. 工作流简介 项目中不断的接触工作流,点点滴滴积累了一些,下面把一些学习到的东西整理记录下来. 工作流一般的适用场景:公文流转.行政审批.订单处理.产品研发.制造过程等.用专业一点的语言来描述工作 ...
- Spring框架入门之开发环境搭建(MyEclipse2017平台)
基于MyEclipse2017平台搭建Spring开发环境,这里MyEclipse已将Spring集成好了,我们只需要做一简单配置即可 一.环境配置 OS:Windows7 64位 IDE工具:MyE ...
- 1.mybatis实战教程mybatis in action之一开发环境搭建
转自:https://www.cnblogs.com/shanheyongmu/p/5652471.html 什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框 ...
- Flask框架的学习与实战(一):开发环境搭建
Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2.很多功能的实现都参考了django框架.由于项目需要,在 ...
随机推荐
- 【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
这次是在ubuntu14.04 amd64上搭建go的编译环境,使用的IDE换成了sublime text,具体步骤参照的是 http://blog.csdn.net/aqiang912/articl ...
- Python开发基础-Day4-布尔运算、集合
布尔值 True 真 False 假 所有的数据类型都自带布尔值,数据只有在0,None和空的时候为False. print(bool()) print(bool()) print(bool('')) ...
- [Nescafé41]编码病毒(循环卷积)
题意看起来好麻烦实际上很简单,首先4s可以先bitset暴力一下,听说卡卡就能过:$O(2^{22}+n^2/32)$ #include<cstdio> #include<bitse ...
- 【数据结构】The Falling Leaves(6-10)
[UVA699]The Falling Leaves 算法入门经典第6章例题6-10(P159) 题目大意:有一颗二叉树,求水平位置的和. 试题分析:乱搞就可以过,将树根节点的pos记为0,向左-1, ...
- HDU 6044 Limited Permutation(搜索+读入优化)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6044 [题目大意] 给出两个序列li,ri,现在要求构造排列p,使得对于区间[li,ri]来说, ...
- [NOIp2016提高组]愤怒的小鸟
题目大意: 平面直角坐标系的第一象限有n(n<=18)个点,你可以每次给出一个形如y=ax^2+bx的函数把经过这条函数的点消掉,问消掉所有的点至少要多少函数? 思路: 枚举每两个点对,可以唯一 ...
- [NOIp2016提高组]蚯蚓
题目大意: 给你n个不同长度蚯蚓,每秒从里面取出最长的砍下u/v变成两只,又把剩下的加长q. 问你在m之前的t,2t,3t...的时间上,砍的蚯蚓长度, 以及m秒后剩下所有的蚯蚓长度. 思路: 很容易 ...
- Bootstrap-table固定表头并解决表头与内容不对齐
写在前面: 之前在做表格的时候,一直忽略了表格的height高度,导致表格的的表头不能固定,这个样子当表格数据过多的时候,导致无法分辨表头是什么,所以决定固定表头. 固定表头需要使用height这一属 ...
- Problem C: 矩阵对角线求和
#include<stdio.h> int main() { ][]; scanf("%d",&n); ,sum2=; ;i<n;i++) ;j<n ...
- 【常见加密方法】Base64编码&Tea算法简介
Base64编码 [Base64编码是什么] Base64是一种基于64个可打印字符来表示二进制数据的表示方法. ——维基百科 Base64,顾名思义,是基于64种可视字符的编码方式.这64种符号由A ...