一、hibernate环境搭建
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属性
- 使用java中的类型 :type="java.lang.String"
- 使用hibernate中的类型 :type="string"
- 使用数据库中的类型 :
<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环境搭建的更多相关文章
- Hibernate学习之——Hibernate环境搭建
之前在写关于安卓闹钟的教程,写了一半就没后一半了,其实自己也没做好,在校外实习,校内毕业实习又有任务,只能先放放了,等毕业实习结束之后,在继续安卓闹钟开发之旅,相信这个时间不会很久的.现在毕业实习用到 ...
- Hibernate环境搭建超详细
前言 环境搭建其实可以简单到导入相关jar包即可. 但是对于学习来说,这个环境搭建的内容还是挺多的,目的是提供一个让我们如何快速学习和掌握类库的学习环境.作为程序猿,学习和使用类库是必须掌握的技能.如 ...
- Hibernate之Hibernate环境搭建
Hibernate之Hibernate环境搭建 一.Hibernate环境搭建的步骤 1.添加Hibernate && SQLServer 的Jar antlr-2.7.7.jar d ...
- SSH环境搭建之Hibernate环境搭建篇
SSH环境搭建之Hibernate环境搭建篇 搭建有两种方式: 1.使用IntelliJ IDEA或者MyEclipse的逆向工程(关系模型 -> 对象模型),我使用的是IntelliJ IDE ...
- Hibernate环境搭建+struts整合
说明:本文档,是和struts2+hibernate的整合示例. lib下还有struts2的jar包,本示例没有显示.struts2的搭建参考struts2的环境搭建 一下载hibernate的ja ...
- Hibernate环境搭建
Hibernate的环境搭建,主要步骤分为一下四步: 首先创建一个工程,在工程里创建一个实体类User,在这个实体类中必须包含无参的构造器,和这个类对属性的存取方法(getter and setter ...
- springmvc+spring-data-jpa+hibernate环境搭建与配置
1.JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在ORM框架中,Hibernate是一支 ...
- struts2+hibernate环境搭建
使用的是myeclipse2014,搭建比较简单,很多jar包不用自己引入,很多初始配置文件不需要自己写.后面会介绍ssh的搭建. 首先新建web project. 1.右键项目,如图所示 这个直接f ...
- Hibernate 环境搭建
Hibernate 工作流程 1.创建工程并导包 2.在src根目录下创建配置文件:hibernate.cfg.xml(也可以创建在src其他文件夹下,但是在后面的配置中,需要指明路径) <?x ...
随机推荐
- Python 读书
第一章 %d %s %f 数字和表达式 加减乘取模都可以直接输入 除需注意: 1/2=0.5 1/2.0=0.5 --有浮点按浮点计算 1//2=0 --整除 1.0/2.0=0.5 1.0//2.0 ...
- Linux将动态IP改为静态IP
1.编辑 ifcfg-eth0 文件,vim 最小化安装时没有被安装,需要自行安装不描述. 2.修改如下内容 BOOTPROTO="static" #dhcp改为static ON ...
- Shell基本概述
目录 Shell01--基本概述 1. Shell课程大纲介绍 2. 什么是Shell ? 3. 什么是Shell脚本 ? 4. 为什么要学Shell编程 ? 5. 学习Shell编程需要哪些知识 ? ...
- 用python编写排序算法
交换排序 === 冒泡排序,快速排序 插入排序 ===直接插入排序,希尔排序 选择排序 === 简单选择排序,堆排序 归并排序 基数排序 冒泡排序 要点 冒泡排序是一种交换排序. 什么是交换排序呢? ...
- RxJava总结(原)
1.RxJava的作用 RxJava is a Java VM implementation of Reactive Extensions: a library for composing async ...
- OAuth_3
端点: 授权断点.令牌断点.重定向端点 除了重定向端点在客户端应用上,其他在服务器端 授权端点: 资源拥有者所登录的授权服务器,并授权给客户端应用的端点 令牌端点: 授权服务器上为了一个访问令牌,客户 ...
- codeblocks编译调试C语言二级指针小记
夜已深,暂时附上一个截图,后面慢慢道来. 下图时用codeblocks调试C语言的界面,codeblocks版本是17.12nosetup版,也为继承mingw,我用的编程器是tdm-gcc-5.1. ...
- postgresql中rank() over, dense_rank(), row_number() 的用法和区别
- kvm搭建
今日做公司项目时恰好是这个,然后就做一个博客,希望可以帮助到你们 1.把虚拟机zmedu63内存调成6G以上,因为我们要在VMware虚拟中安装KVM,然后在KVM中再安装虚拟机,需要内存大一些.zm ...
- 如何更改PHPCMS网站后台标题(title)
打开PHPCMS安装目录,选择phpcms 然后选择Languages目录,打开. 打开目录后,选择zh-cn目录,选择admin.lang.php用editPlus打开,将第九行后面的引号中的内容换 ...