Hibernate-chapter two
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate-chapter two相关的知识,希望对你有一定的参考价值。
又见面啦!!!经过上一章的学习,我们大概对Hibernate框架有所了解。接下来进入我们的第二阶段——实战!
======准备数据库======
这里使用mysql作为示范。
- 创建一个名为Hibernate_test的数据库
如下图:
数据库的操作暂时就到这里。
Ps:没有数据库基础的朋友们,请先学习数据库基础再来学习哦!
======准备Hibernate的jar包======
至于你下载什么版本自己决定,这里先用4.2.4作为示范。
- 解压出来,找到如下jar包……
*其中有数据库驱动包<mysql-connector-........>,你使用什么数据库就下载什么数据库驱动包,这里是MySQL。
======新建项目======
- 新建java项目,随便命名,但务必规范,把刚刚Hibernate和数据库驱动的jar包复制到新建lib文件夹里面。
======接下来就是编码阶段======
步骤上图写得清清楚楚,我不做解释了,接着动手敲吧。
*******************************************************
附图:这是代码结构图
1——创建Hibernate配置文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 8 <!-- 配置连接数据库的基本信息 --> 9 <property name="connection.username">root</property> 10 <property name="connection.password">123456</property> 11 <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 12 <property name="connection.url">jdbc:mysql://localhost:3306/hibernateTest</property> 13 14 <!-- 配置 hibernate 的基本信息 --> 15 16 <!-- hibernate 所使用的数据库方言 --> 17 <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> 18 19 <!-- 执行操作时是否在控制台打印 SQL --> 20 <property name="show_sql">true</property> 21 22 <!-- 是否对 SQL 进行格式化 --> 23 <property name="format_sql">true</property> 24 25 <!-- 指定自动生成数据表的策略 --> 26 <property name="hibernate.hbm2ddl.auto">update</property> 27 28 29 <!-- 指定关联的 .hbm.xml 文件 --> 30 <mapping resource="com/jbit/entity/User/User.hbm.xml"/> 31 32 </session-factory> 33 34 </hibernate-configuration>
2——创建持久化类
1 package com.jbit.entity.User; 2 public class User { 3 4 private int id; 5 private String name; 6 private int age; 7 8 public int getId() { 9 return id; 10 } 11 public void setId(int id) { 12 this.id = id; 13 } 14 public String getName() { 15 return name; 16 } 17 public void setName(String name) { 18 this.name = name; 19 } 20 public int getAge() { 21 return age; 22 } 23 public void setAge(int age) { 24 this.age = age; 25 } 26 public User() { 27 28 } 29 public User(String name, int age) { 30 super(); 31 this.name = name; 32 this.age = age; 33 } 34 @Override 35 public String toString() { 36 return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; 37 } 38 39 40 41 42 }
3——创建关系映射文件
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 5 <hibernate-mapping> 6 7 <class name="com.jbit.entity.User.User" table="USER"> 8 9 <id name="id" type="java.lang.Integer" > 10 <column name="ID" /> 11 <!-- 指定主键的生成方式, native: 使用数据库本地方式 --> 12 <generator class="native" /> 13 </id> 14 15 <property name="name" type="java.lang.String"> 16 <column name="NAME"/> 17 </property> 18 19 <property name="age" type="java.lang.Integer"> 20 <column name="AGE" /> 21 </property> 22 </class> 23 24 </hibernate-mapping>
4——创建通过Hibernate APL访问数据库代码
1 package com.jbit.entity.User; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.Transaction; 6 import org.hibernate.cfg.Configuration; 7 import org.hibernate.service.ServiceRegistry; 8 import org.hibernate.service.ServiceRegistryBuilder; 9 import org.junit.Test; 10 11 public class HibernateTest { 12 @Test 13 public void test() { 14 15 System.out.println("test...启动。。。。。。"); 16 17 //1. 创建一个 SessionFactory 对象 18 19 SessionFactory sessionFactory = null; 20 21 //1). 创建 Configuration 对象: 对应 hibernate 的基本配置信息和 对象关系映射信息 22 Configuration configuration = new Configuration().configure(); 23 24 //4.0 之前这样创建 25 // sessionFactory = configuration.buildSessionFactory(); 26 27 //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象 28 //hibernate 的任何配置和服务都需要在该对象中注册后才能有效. 29 ServiceRegistry serviceRegistry = 30 new ServiceRegistryBuilder().applySettings(configuration.getProperties()) 31 .buildServiceRegistry(); 32 33 //3). 34 sessionFactory = configuration.buildSessionFactory(serviceRegistry); 35 36 //2. 创建一个 Session 对象 37 Session session = sessionFactory.openSession(); 38 39 //3. 开启事务 40 Transaction transaction = session.beginTransaction(); 41 42 //4. 执行保存操作 43 User users = new User("Java12345",10); 44 45 session.save(users); 46 47 48 //5. 提交事务 49 transaction.commit(); 50 51 //6. 关闭 Session 52 session.close(); 53 54 //7. 关闭 SessionFactory 对象 55 sessionFactory.close(); 56 } 57 }
嗯-------------上面的敲完,理解后,接下来就是执行,看数据库是否自动为数据库添加表和列!
看我的成功了!你呢???
--------------------------------------------------------------------------------------------------------------------------------------来自尼玛星球的光军/QQ:383996901
以上是关于Hibernate-chapter two的主要内容,如果未能解决你的问题,请参考以下文章