Hibernate之HelloWorld

1. 步骤

0. 导入相关Jar包。

1. 编写Hibernate的持久化文件 (默认为hibernate.cfg.xml)。

2. 编写持久化类。

3. 创建对象 - 关系文件(.htm.xml文件)。

4. 通过hibernate的API 编写访问数据库的代码。

2. 具体代码实现

1. 创建hibernate的配置文件 - hibernate.cfg.xml文件

1)项目-右键-new-other-hibernate下-cfg.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 5 <hibernate-configuration>
 6     <session-factory>
 7         <!-- 配置连接数据库的基本信息 -->
 8         <!-- 数据库的用户名 密码 驱动 URL -->
 9         <property name="connection.username">root</property>
10         <property name="connection.password">960105</property>
11         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
12         <property name="connection.url">jdbc:mysql:///hibernate</property>
13         <!-- 配置hibernate的基本方法 -->
14         <!-- hibernate所使用的数据库方言 -->
15         <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
16
17         <!-- 执行操作时是否在控制台打印 SQL -->
18         <property name="show_sql">true</property>
19
20         <!-- 是否对 SQL 进行格式化 -->
21         <property name="format_sql">true</property>
22
23         <!-- 指定自动生成数据表的策略 -->
24         <property name="hbm2ddl.auto">update</property>
25
26         <!-- 指定关联的hbm.xml文件 -->
27         <mapping resource="com/tk/hibernate/News.hbm.xml"/>
28     </session-factory>
29 </hibernate-configuration>

2.编写持久化类

1. 必须提供一个无参数的构造器(反射)。

2. 提供一个唯一的标识属性(主键)。

3. 为类的持久化字段提供访问方法(即get/set)。

4. 重写equal和hashCode方法(非必须)。

 1 package com.tk.hibernate;
 2
 3 import java.sql.Date;
 4
 5 public class News {
 6     private Integer id; //field
 7     private String title;
 8     private String author;
 9     private Date date;
10     public Integer getId() {
11         return id;
12     }
13     public void setId(Integer id) {
14         this.id = id;
15     }
16     public String getTitle() {
17         return title;
18     }
19     public void setTitle(String title) {
20         this.title = title;
21     }
22     public String getAuthor() {
23         return author;
24     }
25     public void setAuthor(String author) {
26         this.author = author;
27     }
28     public Date getDate() {
29         return date;
30     }
31     public void setDate(Date date) {
32         this.date = date;
33     }
34     public News(String title, String author, Date date) {
35         super();
36         this.title = title;
37         this.author = author;
38         this.date = date;
39     }
40     public News() {
41         // TODO Auto-generated constructor stub
42     }
43 }

3. 创建关系 - 对象映射文件 - 项目-右键-new-other-hibernate下-hbm.xml

注:主键的生成方式暂为native,采用数据库本地生成的方式。

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 4 <!-- Generated 2017-4-18 20:03:06 by Hibernate Tools 3.5.0.Final -->
 5 <hibernate-mapping>
 6     <class name="com.tk.hibernate.News" table="NEWS">
 7         <!--name 类里面的名字  -->
 8         <id name="id" type="java.lang.Integer">
 9             <!--column 对应数据表中的列名  -->
10             <column name="ID" />
11             <!-- 指定主键的生成方式 ,native使用数据库本地的生成方式-->
12             <generator class="native" />
13         </id>
14         <property name="title" type="java.lang.String">
15             <column name="TITLE" />
16         </property>
17         <property name="author" type="java.lang.String">
18             <column name="AUTHOR" />
19         </property>
20         <property name="date" type="java.sql.Date">
21             <column name="DATE" />
22         </property>
23     </class>
24 </hibernate-mapping>

4.创建测试类(Junit)

具体步骤-在代码部分

 1 package com.tk.hibernate;
 2
 3 import static org.junit.Assert.*;
 4
 5 import java.sql.Date;
 6
 7 import org.hibernate.Session;
 8 import org.hibernate.SessionFactory;
 9 import org.hibernate.Transaction;
10 import org.hibernate.cfg.Configuration;
11 import org.hibernate.service.ServiceRegistry;
12 import org.hibernate.service.ServiceRegistryBuilder;
13 import org.junit.Test;
14
15 public class HibernateTest {
16 @Test
17     public void test() {
18         //1. 创建sessionFactory 对象
19         SessionFactory sessionFactory=null;
20         //1) 创建一个configuration 对象:对应hibernate的基本配置信息和对象关系映射信息
21         Configuration configuration=new Configuration().configure();
23         //4.0 之前这样创建
25       //sessionFactory = configuration.buildSessionFactory();
26         //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
28           //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
29         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
30                                                     .buildServiceRegistry();
31         sessionFactory = configuration.buildSessionFactory(serviceRegistry);
33         //2. 创建一个 Session 对象
35         Session session = sessionFactory.openSession();
36         //3. 开启事务
38         Transaction transaction = session.beginTransaction();
39         //4. 执行保存操作
41         News news = new News("Java12345", "ATGUIGU", new Date(new java.util.Date().getTime()));
42         session.save(news);
43         //5. 提交事务 
45         transaction.commit();
46         //6. 关闭 Session
48         session.close();
49         //7. 关闭 SessionFactory 对象
51         sessionFactory.close();
52
53     }
54
55 }

 

时间: 2024-10-03 07:23:54

Hibernate之HelloWorld的相关文章

hibernate + maven: helloworld

http://blog.163.com/yandong_8212/blog/static/132153914201389104248638/ 1. 准备工作: 参考书籍:JAVA PERSISTENCE with HIBERNATE mave插件:m2e 2. 通过maven创建一个quickstart 的maven工程,并新建一个src/main/resources的source folder用来存放资源文件. 3. 修改pom文件,最简单的helloworld只需要增加hibernate和h

Hibernate笔记一:HIbernate配置-HelloWorld

hibernate介绍: Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 它不仅提供了从java类到数据库表之间的映射,也提供了数据查询和恢复机制.相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少 操作数据库的工作量.另外Hibernate可以利用代理模式简化载入类的过程,这将大大减少利用Hql从数据库提取数据的代码编写量,从而节约开发时间 和开发成本Hibernate可以

hibernate的helloworld实现

首先要新建一个 web project,然后新建一个lib的文件夹并导入相应的jar包 hibernate开发步骤: 1.创建hibernate配置文件 2.创建持久化类 3.创建对象关系映射文件 如下: 相应的jar包如下: (jar包去 hibernate文件中找) hibernate.cfg.xml代码如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-conf

hibernate学习(1)——helloworld

1. 框架体系结构 2. hibernate入门 2.1 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational:关系,二维表,数据库中的表. Mapping:映射|映射元数据,对象中属性,与表的字段,存在对应关系. 2.2   什么是hibernate 1) Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架 2)ORM 就是通过将Java对象映射到数据库表,通过操作J

springMVC搭建

1.Spring特点: 方便耦合,简化开发,提升性能 AOP面向切面的编程 声明式事务支持 方便程序的调试 方便集成各大优秀的框架 Java源代码学习的典范 2.Java的面向对象,继承.封装和多态(IOC) Java的本质是什么:面向对象 对象是怎么创建的:new 对象的职责:调用方法和属性(给属性赋值.调用方法.使用) 3.快速搭建一个springMVC框架,实现登录案例:SpringMVC+Hibernate实现HelloWorld程序 下载spring4.spring体系结构 -----

使用hibernate 框架搭建的helloworld

在学框架hibernate 框架的时候走了很多的弯路 版本: 将第一个hibernate记录下来 首先 是搭建的结构: hibernate.cfg.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" &q

hibernate学习:HelloWorld

一:HelloWorld程序结构 2:相关源码 3:console输出 Hibernate: insert into Student (name, age) values (?, ?) 4:知识总结 本例讲的是基于xml映射方式的hibernate. 准备条件: (1)hibernate中心包,hibernate依赖包,slf4j-nop-1.5.8.jar(hibernate依赖包中有:slf4j-api-1.5.8.jar,只是日志的接口,没有实现,所以引入对应版本的实现slf4j-nop-

陶顺利 写出第一个hibernate中的helloworld

1.新建一个java项目,取名为hub_test. 2.在项目上点右键,引入hiernate的库. 3.修改hibernate.cfg.xml从例子中考过来,并按实际情况修改. 4.创建实体类(学生类),属性有id,name,age,并封装. 5.编写Student.hbm.xml,代码如下: <?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibern

Hibernate简介与HelloWorld

一.Hibernate简介: 二.Hibernate4 版Hello World 实现 工程结构: com.cy.model.Student: package com.cy.model; public class Student { private long id; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String g