又见面啦!!!经过上一章的学习,我们大概对Hibernate框架有所了解。接下来进入我们的第二阶段——实战!

======准备数据库======

这里使用MySQL作为示范。

  1. 创建一个名为Hibernate_test的数据库

如下图:

数据库的操作暂时就到这里。

Ps:没有数据库基础的朋友们,请先学习数据库基础再来学习哦!

======准备Hibernate的jar包======

至于你下载什么版本自己决定,这里先用4.2.4作为示范。

  1. 解压出来,找到如下jar包……

*其中有数据库驱动包<mysql-connector-........>,你使用什么数据库就下载什么数据库驱动包,这里是MySQL。

======新建项目======

  1. 新建java项目,随便命名,但务必规范,把刚刚Hibernate和数据库驱动的jar包复制到新建lib文件夹里面。

======接下来就是编码阶段======

步骤上图写得清清楚楚,我不做解释了,接着动手敲吧。

*******************************************************

附图:这是代码结构图

1——创建Hibernate配置文件

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 <hibernate-configuration>
     <session-factory>

         <!-- 配置连接数据库的基本信息 -->
         <property name="connection.username">root</property>
         <property name="connection.password">123456</property>
         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
         <property name="connection.url">jdbc:mysql://localhost:3306/hibernateTest</property>

         <!-- 配置 hibernate 的基本信息 -->

         <!-- hibernate 所使用的数据库方言     -->
         <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>

         <!-- 执行操作时是否在控制台打印 SQL -->
         <property name="show_sql">true</property>

         <!-- 是否对 SQL 进行格式化 -->
         <property name="format_sql">true</property>

         <!-- 指定自动生成数据表的策略 -->
         <property name="hibernate.hbm2ddl.auto">update</property>

         <!-- 指定关联的 .hbm.xml 文件 -->
         <mapping resource="com/jbit/entity/User/User.hbm.xml"/>

     </session-factory>

 </hibernate-configuration>

2——创建持久化类

 package com.jbit.entity.User;
 public class User {

     private int id;
     private String name;
     private int age;

     public int getId() {
         return id;
     }
     public void setId(int id) {
         this.id = id;
     }
     public String getName() {
         return name;
     }
     public void setName(String name) {
         this.name = name;
     }
     public int getAge() {
         return age;
     }
     public void setAge(int age) {
         this.age = age;
     }
     public User() {

     }
     public User(String name, int age) {
         super();
         this.name = name;
         this.age = age;
     }
     @Override
     public String toString() {
         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
     }

 }

3——创建关系映射文件

 <?xml version="1.0"?>
 <!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.jbit.entity.User.User" table="USER">

         <id name="id" type="java.lang.Integer" >
             <column name="ID" />
             <!-- 指定主键的生成方式, native: 使用数据库本地方式 -->
             <generator class="native" />
         </id>

         <property name="name" type="java.lang.String">
             <column name="NAME"/>
         </property>

         <property name="age" type="java.lang.Integer">
             <column name="AGE" />
         </property>
     </class>

 </hibernate-mapping>

4——创建通过Hibernate APL访问数据库代码

 package com.jbit.entity.User;

 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;
 import org.hibernate.cfg.Configuration;
 import org.hibernate.service.ServiceRegistry;
 import org.hibernate.service.ServiceRegistryBuilder;
 import org.junit.Test;

 public class HibernateTest {
     @Test
     public void test() {

         System.out.println("test...启动。。。。。。");

         //1. 创建一个 SessionFactory 对象

         SessionFactory sessionFactory = null;

         //1). 创建 Configuration 对象: 对应 hibernate 的基本配置信息和 对象关系映射信息
         Configuration configuration = new Configuration().configure();

         //4.0 之前这样创建
 //        sessionFactory = configuration.buildSessionFactory();

         //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
         //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
         ServiceRegistry serviceRegistry =
                 new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                                             .buildServiceRegistry();

         //3).
         sessionFactory = configuration.buildSessionFactory(serviceRegistry);

         //2. 创建一个 Session 对象
         Session session = sessionFactory.openSession();

         //3. 开启事务
         Transaction transaction = session.beginTransaction();

         //4. 执行保存操作
         User users = new User("Java12345",10);

         session.save(users);

         //5. 提交事务
         transaction.commit();

         //6. 关闭 Session
         session.close();

         //7. 关闭 SessionFactory 对象
         sessionFactory.close();
     }
 }

嗯-------------上面的敲完,理解后,接下来就是执行,看数据库是否自动为数据库添加表和列!

看我的成功了!你呢???

--------------------------------------------------------------------------------------------------------------------------------------来自尼玛星球的光军/QQ:383996901

Hibernate-chapter two的更多相关文章

  1. [转]Hibernate设置时间戳的默认值和更新时间的自动更新

    原文地址:http://blog.csdn.net/sushengmiyan/article/details/50360451 Generated and default property value ...

  2. TIJ——Chapter Two:Everything Is an Object

    If we spoke a different language, we would perceive a somewhat different world. Ludwig Wittgenstein( ...

  3. Hibernate对象映射类型

    Hibernate understands both the Java and JDBC representations of application data. The ability to rea ...

  4. Chapter 7. Dependency Management Basics 依赖管理基础

    This chapter introduces some of the basics of dependency management in Gradle. 7.1. What is dependen ...

  5. Hibernate设置时间戳的默认值和更新时间的自动更新

    Generated and default property values 生成的和默认的属性值 The database sometimes generates a property value, ...

  6. Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide

    Preface Validating data is a common task that occurs throughout all application layers, from the pre ...

  7. HQL: The Hibernate Query Language

    Chapter 14. HQL: The Hibernate Query Language 14.1. Case Sensitivity 14.2. The from clause 14.3. Ass ...

  8. Hibernate Persistence Contexts

    Hibernate ORM 5.2.18.Final User Guidehttps://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/ ...

  9. hibernate多对多关联映射

    关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...

  10. 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用

    问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...

随机推荐

  1. Alljoyn瘦客户端库介绍(官方文档翻译)

    Alljoyn瘦客户端库介绍(上) 1.简介 本文档对AllJoynTM瘦客户端的核心库文件(AJTCL)进行了详尽的介绍.本文档介绍了系统整体架构,AllJoyn框架结构,并着重于介绍如何将嵌入式设 ...

  2. Apache Mina实战

    Mina介绍 Mina可以用于快速的开发基于网络通信的应用,特别是在开发手机端的游戏应用时,使用的较为普遍.本文简单介绍了一个用Mina搭建的一个简易讨论组,通过该应用可以对Mina的基本用法用途有个 ...

  3. %~dp0是什么意思

    转载自 www.cnblogs.com/yxsylyh 转载内容如下: cd /D %~dp0的意思如下: 更改当前目录为批处理本身的目录 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内 ...

  4. Android开发学习之路-图片颜色获取器开发(1)

    系列第一篇,从简单的开始,一步一步完成这个小项目. 颜色获取就是通过分析图片中的每个像素的颜色,来分析整个图片的主调颜色,有了主调颜色,我们可以用于图片所在卡片的背景或者标题颜色,这样整体感更加强烈. ...

  5. salesforce 零基础学习(四十六)动态美观显示列表中记录的审批状态

    项目中,申请者申请某些事项以后,常常需要在申请列表中查看当前申请的记录所在的审批状态,动态美观的显示状态可以使UI更符合客户要求,比如下面这样. 以Goods__c表为例,申请者申请的一些采购以前需要 ...

  6. java IO流 之 字节流

    一.file类的常用操作 File file=new File("E:\\test\\javaIo"); System.out.println(file.isDirectory() ...

  7. maven的聚合与继承

    新建一个空的maven项目user-parent Pom.xml内容 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  8. WPF入门教程系列十七——WPF中的数据绑定(三)

    四. XML数据绑定 这次我们来学习新的绑定知识,XML数据绑定.XmlDataProvider 用来绑定 XML 数据,该XML数据可以是嵌入.Xmal文件的 XmlDataProvider 标记中 ...

  9. SSISDB1:使用SSISDB管理SSIS Projects

    使用Project Deployment Model,将SSIS Project部署到Integration Services Catalog之后,SSISDB负责管理SSIS Project.在SS ...

  10. Android启动模式

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...