参数说明:   valid"> 从零打造在线网盘系统之Hibernate框架起步 - 11GX
首页 > 从零打造在线网盘系统之Hibernate框架起步

从零打造在线网盘系统之Hibernate框架起步

欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重地阐述SSH三个框架的基础知识,第四部分将会进入项目实战,如果您已经对SSH框架有所掌握,那么可以直接浏览第四章,源码均提供在GitHub/ssh-network-hard-disk上供大家参阅

本章的学习目标

  1. 明白什么是Hibernate
  2. 掌握XML配置Hibernate
  3. 掌握注解配置Hibernate
  4. Hibernate的基本增删改查的使用

Hibernate概述

Hibernate是一个对象关系映射框架,可以通过XML配置文件或者注解将数据库与实体Bean进行映射

Hibernate常规配置步骤

  1. 配置Hibernate
  2. 建立实体Bean及其映射文件
  3. 建立会话(Session)工厂
  4. 通过会话(Sessioon)工厂操作会话

配置Hibernate

对于配置Hibernate我们有很多种方法,例如XML配置,属性文件配置,编程方式配置,注解配置等.


XML配置 小节完整示例代码下载

编写名为Hibernate.cfg.xml的xml文件放入资源目录,根据下面形式对Hibernate进行配置



com.mysql.jdbc.Driverrootjimisunjdbc:mysql://localhost:3306/testtruetrueupdateorg.hibernate.dialect.MySQLDialecttruethread

属性文件配置 小节完整示例代码下载

编写hibernate.properties的properties配置文件放入资源目录,配置形式如下

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.hbm2ddl.auto=update

编程配置

编程配置hibernate在实际开发中使用较少,了解即可

    Configuration configuration = new Configuration();configuration.addResource("mapping.xml").setProperty("connection.username", "root").setProperty("connection.password", "jimisun").setProperty("dialect", "org.hibernate.dialect.MySWLDialect").setProperty("connection.url", "jdbc:mysql://localhost:3306/test").setProperty("connection.driver_class", "com.mysql.jdbc.Driver");

注解配置 小节完整示例代码下载

注解配置严格上来说并不是一种配置方式,仍然需要使用XML或者properties将Hibernate进行配置,在Bean实体和表之间的映射关系我们就可以使用注解进行配置,就不需要编写Bean对应的映射XML文件

首先使用XML或者properties配置hibernate
@Entity
@Table(name = "user")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;private String username;private String password;}

Session增删改查示例 小节完整示例代码下载

    /*** 保存&更新User*/static void addUser() {Transaction transaction = session.beginTransaction();User user = new User();user.setUsername("jimisunl");user.setPassword("jimisun");session.saveOrUpdate(user);transaction.commit();}
    /*** 查找User** @param theClass* @param id* @return*/static User getUser(Class theClass, Serializable id) {return (User) session.find(theClass, id);}
    /*** 删除User* @param object*/static void deleteUser(Object object) {Transaction transaction = session.beginTransaction();session.delete(object);transaction.commit();}

本篇总结

掌握Hibernate的配置方式,能使用的HibernateSessionFactory的Session进行增删改查操作

转载于:https://www.cnblogs.com/jimisun/p/9938384.html

更多相关:

  • ue4商城资源 Car Configurator Template 汽车配置器模板 ue4商城资源 Car Configurator Template 汽车配置器模板 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Car Configurator Template 4...

  • 一直在尝试一些写代码方便,阅读代码也很方便的工具,因为使用的是Mac,所以阅读源码上面sourceInsight就没办法用了。 从vscode – sublime – clion 想要可配置性强一点,软件轻一点,也能提供足够的便捷操作,不论是写代码还是快速索引源码,都希望在检索上面节省足够的时间。 vscode 和 sublime...

  • 每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译。出现问题,还得重新回到windows端,这个过程太耗费时间。 vim作为唯一能够和windos 下的source insight一争高低的linux端的源码阅读器,只要将它短时间内合理利用...

  • 使用ubuntu(18.04) 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明,遂写一篇教程以记录一下 功能说明: 简单来说,就是用其他机器的网络上互联网, 比如可以用其他机器的wifi上网等等场景 示意...

  • Spring-Boot 攻略 day01 spring-boot 一. 基本配置加运行 1. 导入配置文件(pom.xml 文件中) org.springframework.bootspring-boot-starter-parent

  • 配置Configuration 一条configuration的名称可以是任意字符串,值可以是任意数据类型。 conf.set("name", "orisun"); conf.setInt("age",24); 在代码中设置只对本次代码运行有效,而在配置文件中设置则长久有效。 configuration-1.xml

  • Attached Property是Dependency Property的一种特殊形式,它是用DependencyProperty.RegisterAttached方法注册的,可以被有效地添加到任何继承自DependencyObject的对象中,所以被称为Attached Property。一开始,这可能听起来很奇怪,但这种机制在W...

  • 一.  结构的基本知识 聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字,他们是通过名字来访问的。 1.      结构声明 在结构声明时,必须列出它包含的所有成员,这个列表包括每个成员的类型和...

  •   在前面认识C中的结构体中我介绍了结构体的基础知识,下面通过这段代码来回顾一下: 1 #include 2 #define LEN 20 3 4 struct Student{ //定义结构体 5 char name[LEN]; 6 char address[...

  • Hibernate 配置参数hibernate.hbm2ddl.auto  Hibernate中的配置文件:              参数说明:   valid...