Hibernate之Hibernate环境搭建
Hibernate之Hibernate环境搭建
一、Hibernate环境搭建的步骤
1.添加Hibernate && SQLServer 的Jar
antlr-2.7.7.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.5.Final.jar
hibernate-core-4.3.11.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-1.1.0.Final.jar
javassist-3.18.1-GA.jar
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
sqljdbc4.jar
2.创建JavaBean类:User.java
package cn.com.zfc.hibernate.entities; /**
*
* @title User
* @describe Hibernate 的 POJO
* @author 张富昌
* @date 2017年4月7日下午10:47:27
*/
public class User {
private Integer id;
private String userName;
private String userDesc; public User() {
super();
} public User(String userName, String userDesc) {
super();
this.userName = userName;
this.userDesc = userDesc;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getUserDesc() {
return userDesc;
} public void setUserDesc(String userDesc) {
this.userDesc = userDesc;
} @Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", userDesc=" + userDesc + "]";
}
}
3.使用Xxx.hbm.xml 映射文件映射JavaBean属性到数据库表之间的映射关系:User.hbm.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 2017-3-19 13:53:52 by Hibernate Tools 3.5.0.Final -->
<!-- 一般写 package,简化全类名 -->
<hibernate-mapping package="cn.com.zfc.hibernate.entities">
<class name="User" table="USERS">
<!-- 映射主键,id:属性,column:字段 -->
<id name="id" type="java.lang.Integer">
<column name="ID" />
<!-- 主键生成策略 -->
<generator class="native" />
</id>
<!-- 映射普通字段,property:属性,column:字段 -->
<property name="userName" type="java.lang.String">
<column name="USER_NAME" />
</property> <property name="userDesc" type="java.lang.String">
<column name="USER_DESC" />
</property>
</class>
</hibernate-mapping>
4.在hibernate.cfg.xml Hibernate配置文件中配置Hibernate 数据源及相关属性:在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>
<!-- Hibernate 的基本配置 --> <!-- 数据源信息配置 -->
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">sa</property>
<!-- 数据库密码 -->
<property name="hibernate.connection.password">123456</property>
<!-- 数据库驱动宝 -->
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<!-- 不指定数据库名称,可以在映射文件中指定数据库名称 -->
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=hibernate-01</property> <!-- 指定在控制台输出 SQL 语句,便于调试 -->
<property name="show_sql">true</property>
<!-- 格式化 SQL 语句 -->
<property name="format_sql">true</property>
<!-- 指定数据库生成策略 -->
<property name="hbm2ddl.auto">update</property>
<!-- 配置数据库方言 -->
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property> <!-- 注册 Hibernate 映射文件 -->
<mapping resource="cn/com/zfc/hibernate/entities/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
5.使用Hibernate ORM框架完成对JavaBean对象的操作
①创建Configuration对象
Configuration configuration = new Configuration().configure();
②创建SessionFactory 工厂类
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
③创建Session对象
Session session = sessionFactory.openSession();
④开启事物 Transaction(查询不需要事务)
Transaction transaction = session.beginTransaction();
⑤执行业务******
CRUD操作
⑥提交事物
transaction.commit();
⑦关闭会话
session.close();
⑧关闭 SessionFactory
sessionFactory.close();
6.数据库:hibernate-01
数据表:users

二、JUNIT 单元测试初识
1.单元测试的基本概念
2.使用Junit 搭建Hibernate 测试环境
3.@Test @Before @After
4.Hibernate 环境的测试:TestHibernate.java
package cn.com.zfc.hibernate.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.junit.After;
import org.junit.Before;
import org.junit.Test; import cn.com.zfc.hibernate.entities.User; /**
*
* @title TestHibernate
* @describe 测试 Hibernate 的环境
* @author 张富昌
* @date 2017年4月7日下午10:47:05
*/
public class TestHibernate { private Configuration configuration = null;
private SessionFactory sessionFactory = null;
private Session session = null;
private Transaction transaction; @Before
public void init() {
configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
session = sessionFactory.openSession();
transaction = session.beginTransaction();
} @After
public void destory() {
transaction.commit();
session.close();
sessionFactory.close();
} // 添加
@Test
public void testSave() {
User user = new User("UU-1", "爱生活,爱编程");
session.save(user);
} // 立即加载
@Test
public void testGet() {
User user = (User) session.get(User.class, 1);
System.out.println("user:" + user);
} // 延迟加载:当数据真正使用时在开始加载
@Test
public void testLoad() {
User user = (User) session.load(User.class, 1);
System.out.println("user:" + user);
} // 删除
@Test
public void testDelete() {
User user = (User) session.load(User.class, 4);
session.delete(user);
} // 修改
@Test
public void testUpdate() {
User user = (User) session.load(User.class, 1);
user.setUserDesc("我是修改过的东西");
session.update(user);
} @Test
public void dataSource() {
} }
Hibernate之Hibernate环境搭建的更多相关文章
- 最新版ssh hibernate spring struts2环境搭建
最新版ssh hibernate spring struts2环境搭建 最新版spring Framework下载地址:spring4.0.0RELEASE环境搭建 http://repo.sprin ...
- Hibernate 系列 02 - Hibernate介绍及其环境搭建
引导目录: Hibernate 系列教程 目录 昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归 ...
- Hibernate 介绍及其 环境搭建
介绍 数据持久化概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如:文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型, ...
- hibernate之helloword(环境搭建)
环境搭建 hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- Hibernate(一)——采用Hibernate框架开发环境搭建
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员充分使用对象编程思维来操作数据库.HIbernate的移植性很好,它可以应用于任何JDB ...
- hibernate介绍及环境搭建
1.前言 hibernate与mybatis的位置一样,都是属于DAO层的框架,代替我们原来的JDBC操作数据库,属于ORM(object relationg mapping. 对象关系映射)框架.O ...
- Hibernate学习笔记--环境搭建及运行
1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...
- Hibernate之环境搭建
开始之前,我想先理清一个概念,即ORM是什么? ORM介绍 全称:Object/Relation Mapping,即对象/关系映射. ORM也可以理解为一种规范,具体的ORM框架可作为应用程序和数据库 ...
- Hibernate学习之——Hibernate环境搭建
之前在写关于安卓闹钟的教程,写了一半就没后一半了,其实自己也没做好,在校外实习,校内毕业实习又有任务,只能先放放了,等毕业实习结束之后,在继续安卓闹钟开发之旅,相信这个时间不会很久的.现在毕业实习用到 ...
- Hibernate之环境搭建及demo
ORM概念 ORM即Object/Relation Mapping, 对象/关系数据库映射.ORM是一种规范,完成面向对象编程语言到关系数据库之间的映射.J2EE中的JPA就是一种ORM规范. ORM ...
随机推荐
- Python练习-迭代器-模拟cat|grep文件
代码如下: # 编辑者:闫龙 def grep(FindWhat): f=open("a.txt","r",encoding="utf8") ...
- 如何编写 Typescript 声明文件
使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的. TypeScript之所以叫Type,和它的强类型是分 ...
- 程序移植到AUTOCAD2013笔记
1:需要引用acmgd.dll acdbmgd.dll,AcCoreMdg.dll, accui.dll 四个dll 2: 2010下的的acmgd.dll被拆分为acmgd.dll和AcCoreMd ...
- win10系统下我的电脑右键没有属性
1.右键点击系统左下角的开始,菜单中点击运行 2.在输入框中输入regeidt,点击确定打开系统的注册表编辑器 3.然后依次打开HKEY_CURRENT_USER\Software\Microsoft ...
- Java设计模式——工厂模式
一.工厂模式分类 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的. 工厂模式在<Java与模式>中分为三类: (1)简单工厂模式(Simp ...
- 【CTF WEB】文件包含
文件包含 题目要求: 请找到题目中FLAG 漏洞源码 <meta charset='utf-8'> <center><h1>文件阅读器</h1>< ...
- Ubuntu_搜狗输入法安装
前言 由于很少使用Linux系统,所以闲下来打算看一看,在安装完成后,遇到无法输入中文的问题.我使用的是小鹤双拼,所以习惯使用搜狗输入法,本文记录一下如何在ubuntu系统下安装小鹤双拼 由于前两次并 ...
- 四、Springboot Debug调试
描述: 在使用maven插件执行spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置. 1.添加jvm参数配置 在spring-boot的maven插件加上jvmArg ...
- 在Eclipse使用Gradle
1.Gradle安装 1.Grandle官网下载Gradle,地址:http://www.gradle.org/downloads 2.设置环境变量,需要设置如下2个环境变量 2.1添加GRADLE_ ...
- Python模块:Random(未完待续)
本文基于Python 3.6.5的官文random编写. random模块简介 random为各种数学分布算法(distributions)实现了伪随机数生成器. 对于整数,是从一个范围中均匀选择(u ...