hibernate环境搭建

下载hibernate

  • hibernate的jar
  • 连接数据库的jar

解压hibernate,解压后目录结构

  • documentation :对应hibernate开发文档
  • lib :对应hibernate开发所依赖的jar包
    • optional :对应hibernate开发可选的jar包
    • required :对应hibernate开发必须的jar包
  • project :对应hibernate的项目

创建数据库表

create table user(
id int primary key unique auto_increment,
name varchar(20),
password varchar(20)
);

创建表对应实体类

public class User {
private int id;
private String name;
private String password;
......
}

创建对象关系映射

  • 一般命名:实体类名.hbm.xml
  • 约束查找:lib/hibernate-core-5.3.7.Final.jar!/org/hibernate/hibernate-mapping-3.0.dtd
<hibernate-mapping>
<!--建立类与表的映射-->
<class name="com.qf.entity.User" table="user">
<!--建立类中的属性与表中主键的对应-->
<id name="id" column="id">
<!--主键生成策略-->
<generator class="native"/>
</id> <!--建立类中的普通属性和表中普通字段的对应-->
<property name="name" column="name"/>
<property name="password" column="password"/>
</class>
</hibernate-mapping>
  • class标签:建立类与表的映射关系

属性

name :类名

table :表名(如果表名和类名一致,可以省略不写)

catalog :数据库名

  • id标签:建立类中属性与表中主键的对应关系

属性

name :类中的属性名

column :表中的字段名(如果表中字段名和类中属性名一致,可以省略不写)

length :长度(hibernate可以根据类自动创建表,这里的length属性就是自动建表字段长度)

type :类型

  • property标签:建立类中属性与表中字段的对应关系

属性

name :类中的属性名

column :表中的字段名(如果表中字段名和类中属性名一致,可以省略不写)

length :长度(hibernate可以根据类自动创建表,这里的length属性就是自动建表字段长度)

type :类型

not-null :设置非空

unique :设置唯一

注:type属性

  1. 使用java中的类型 :type="java.lang.String"
  2. 使用hibernate中的类型 :type="string"
  3. 使用数据库中的类型 : 
    <id name="id" >
    <column name="id" sql-type="varchar"/>
    <!--主键生成策略-->
    <generator class="native"/>
    </id>

配置hibernate核心配置文件hibernate.cfg.xml

约束查找:lib/hibernate-core-5.3.7.Final.jar!/org/hibernate/hibernate-configuration-3.0.dtd

<hibernate-configuration>
<session-factory>
<!--必须配置-->
<!--连接数据库的基本参数-->
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!--配置hibernate的方言:hibernate用于生成相应数据库的sql语句-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!--可选配置-->
<!--打印sql语句-->
<property name="hibernate.show_sql">true</property>
<!--格式化sql-->
<property name="hibernate.format_sql">true</property>
<!--自动创建表-->
<property name="hibernate.hbm2ddl.auto">update</property> <!--告诉核心配置文件需要加载哪个orm映射配置文件-->
<mapping resource="com/qf/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

必须的配置

  • 驱动类
  • URL
  • 用户名
  • 密码
  • 方言

可选的配置

  • 打印sql :hibernate.show_sql
  • 格式化sql :hibernate.format_sql
  • 自动建表 :hibernate.hbm2ddl.auto 
    • none :不使用hibernate自动建表
    • create :如果数据库中已经有表,删除原有表,重新创建,如果没有表,新建表
    • create-drop :如果数据库中已经有表,删除原有表,执行操作,删除这个表。如果没有表,新建一个,使用完了删除该表
    • update :如果数据库中有表,使用原有表,如果没有表,创建新表(更新表结构)
    • validate :如果没有表,不会创建表。只会使用数据库中原有的表(校验映射和表结构)

引入映射文件

<mapping resource="com/qf/entity/User.hbm.xml"/> 

测试类

 public class demo01 {

     @Test
public void test(){
// 1.加载hibernate核心配置文件
Configuration configure = new Configuration().configure(); // 2.创建SessionFactory对象:类似JDBC连接池
SessionFactory factory = configure.buildSessionFactory(); // 3.通过SessionFactory获取Session对象:类似Connection对象
Session session = factory.openSession(); // 4.手动开启事务
Transaction transaction = session.beginTransaction(); // 5.编写代码执行数据库操作
User user = new User();
user.setId(null);
user.setName("admin");
user.setPassword("123");
Serializable save = session.save(user);
int ret = (int) save; // 6.提交事务
if(ret > 0){
transaction.commit();
}else {
transaction.rollback();
} session.close();
factory.close(); }
}

console输出

Hibernate:
insert
into
user
(name, password)
values
(?, ?)

  

一、hibernate环境搭建的更多相关文章

  1. Hibernate学习之——Hibernate环境搭建

    之前在写关于安卓闹钟的教程,写了一半就没后一半了,其实自己也没做好,在校外实习,校内毕业实习又有任务,只能先放放了,等毕业实习结束之后,在继续安卓闹钟开发之旅,相信这个时间不会很久的.现在毕业实习用到 ...

  2. Hibernate环境搭建超详细

    前言 环境搭建其实可以简单到导入相关jar包即可. 但是对于学习来说,这个环境搭建的内容还是挺多的,目的是提供一个让我们如何快速学习和掌握类库的学习环境.作为程序猿,学习和使用类库是必须掌握的技能.如 ...

  3. Hibernate之Hibernate环境搭建

    Hibernate之Hibernate环境搭建 一.Hibernate环境搭建的步骤 1.添加Hibernate && SQLServer 的Jar antlr-2.7.7.jar d ...

  4. SSH环境搭建之Hibernate环境搭建篇

    SSH环境搭建之Hibernate环境搭建篇 搭建有两种方式: 1.使用IntelliJ IDEA或者MyEclipse的逆向工程(关系模型 -> 对象模型),我使用的是IntelliJ IDE ...

  5. Hibernate环境搭建+struts整合

    说明:本文档,是和struts2+hibernate的整合示例. lib下还有struts2的jar包,本示例没有显示.struts2的搭建参考struts2的环境搭建 一下载hibernate的ja ...

  6. Hibernate环境搭建

    Hibernate的环境搭建,主要步骤分为一下四步: 首先创建一个工程,在工程里创建一个实体类User,在这个实体类中必须包含无参的构造器,和这个类对属性的存取方法(getter and setter ...

  7. springmvc+spring-data-jpa+hibernate环境搭建与配置

    1.JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在ORM框架中,Hibernate是一支 ...

  8. struts2+hibernate环境搭建

    使用的是myeclipse2014,搭建比较简单,很多jar包不用自己引入,很多初始配置文件不需要自己写.后面会介绍ssh的搭建. 首先新建web project. 1.右键项目,如图所示 这个直接f ...

  9. Hibernate 环境搭建

    Hibernate 工作流程 1.创建工程并导包 2.在src根目录下创建配置文件:hibernate.cfg.xml(也可以创建在src其他文件夹下,但是在后面的配置中,需要指明路径) <?x ...

随机推荐

  1. VINS 检测回环辅助激光建图

    最近接到一个任务,在激光检测回环失败时,比如黑色物体多,场景大等,可否利用视觉进行回环检测.如果只是检测回环,现有的许多框架都可以使用.ORB-SLAM本身就有单目模式,且效果不错.但是发现ORB在检 ...

  2. docker 安装nexus

    1.查找镜像 docker search nexus 2.拉取镜像 docker pull sonatype/nexus3 3.启动容器 docker run -d -p 8081:8081 -p 8 ...

  3. h5py库

    参考文献:http://docs.h5py.org/en/latest/high/dataset.html h5py文件存放数据集(dataset)和组(group). dataset类似数组类的数据 ...

  4. python的logging,将log保存到文件

    import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(line ...

  5. MyBatis注解开发-@Insert和@InsertProvider(@Select、@SelectProvider雷同)

    @Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句.不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工 ...

  6. 【leetcode】908. Smallest Range I

    题目如下: 解题思路:简单的不能再简单的题目了,对于任意一个A[i]来说,其可能的最小的最大值是A[i]-K,最大的最小值是A[i]+K.遍历数组,求出所有元素中最大的最小值和最小的最大值,两者之差( ...

  7. MariaDB PHP语法

    MariaDB与各种编程语言和框架(如PHP,C#,JavaScript,Ruby on Rails,Django等)合作良好. PHP仍然是所有可用语言中最受欢迎的语言,因为它的简单性和历史足迹. ...

  8. ofbiz:找不到org.ofbiz.widget.ContentWorkerInterface的类文件

    ofbiz编译报错: 找不到org.ofbiz.widget.DataResourceWorkerInterface的类文件 找不到org.ofbiz.widget.ContentWorkerInte ...

  9. 【数据库】一篇文章搞掂:MySQL数据库

    一.安装 使用版本:5.7(2018/08/03 阿里云的云数据库最高支持5.7,所以这里考虑用5.7) 下载版本:MySQL Community Server 5.7.23 下载地址:https:/ ...

  10. 【Java架构:基础技术】一篇文章搞掂:Idea

    一.使用技巧 1.1.配置Maven 打开File-Settings打开设置界面 1.2.配置JDK JDK可以设置默认版本,也可以设置针对某个项目 分别对应File-Other Setting-De ...