Hibernate4.3基础知识1
一、Hibernate 开发环境搭建 4.3
1、导包 2、创建hibernate.cfg.xml配置文件 3、创建实体类 4、创建映射文件 实体类名.hbm.xml 配置文件
二、hibernate.cfg.xml剖析
1、数据库链接配置
1 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
2 <property name="connection.url">jdbc:mysql://localhost:3306/hiber01</property>
3 <property name="connection.username">root</property>
4 <property name="connection.password">root</property>
2、可选配置
hibernate默认使用 的连接池,
1 <property name="connection.pool_size">1</property>
数据库方言
1 <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
是否输出SQL语句
1 <property name="show_sql">true</property>
c3p0连接池配置
1 <property name="c3p0.min_size">10</property>
2 <property name="c3p0.max_size">100</property>
3 <property name="c3p0.timeout">3000</property>
建表策略
1 <property name="hbm2ddl.auto">none</property>
可选值:
none:不做任何事
update:如果没有表则建表,有表则更新
create-drop:操作时建表,操作完毕删表
validate:验证数据库表和mapping映射关系是否正确
· 注册映射文件
1 <mapping resource="com/rl/hiber/model/User.hbm.xml"/>
三、映射文件配置
1 <!-- 配置类域表之间的关系 -->
2 <class name="com.tx.hiber.model.Person" table="t_person">
3 <!-- 主键映射 -->
4 <id name="id" column="p_id">
5 <!-- 主键生成策略assigned手动生成、increment sequence native uuid -->
6 <generator class="assigned"></generator>
7 </id>
8 <!-- 属性映射 -->
9 <property name="pname" column="pname"></property>
10 <property name="pgender" column="pgender"></property>
11 <property name="birthday" column="birthday"></property>
12 </class>
class属性: name:全路径名称 table:表名
主键映射: 映射策略有:assigned(手动指定) increment(主键自增、有线程并发问题) identity(Mysql自增,数值类型,有锁机制) sequence(Oracle数据库自增)
native(智能选择自增) uuid(生成32位字符串)
property属性:name:属性名 column:列名 type:hibernate提供的数据类型 length:映射到数据库表中字段长度 not-null 不为空 unique-key:唯一约束键名
四、创建sesionFactory
1 //创建配置对象
2 Configuration conf = new Configuration();
3 //读取配置文件
4 conf.configure("hibernate.cfg.xml");
5 //注册配置属性
6 ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
7 //创建工厂
8 sf = conf.buildSessionFactory(sr);
五、hibernate对象三种状态

Hibernate4.3基础知识1的更多相关文章
- Hibernate4.3基础知识2
一.数据库的隔离级别 脏读 不可重复读 幻读 Read uncommited Y Y Y Read commited N Y Y Repeatable read N N Y Serializabl ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- Spine应用--使用Spine动画制作动作游戏
在前面的文章中,已经陆陆续续的讲解了一些使用Spine动画的细节,有了这些细节,我们已经满足了在unity中使用Spine动画制作动作游戏的技术基础. 那么,要使用Spine动画在unity中制作一款 ...
- 非旋Treap——fhq treap
https://www.luogu.org/problemnew/show/P3369 知识点:1.拆分split,合并merge 2.split,merge要点:通过传址调用来简便代码 3.记得ro ...
- 读取文本文件中的中文打印到Eclipse控制台为何显示问号
原因:未将文本文件存为utf-8编码格式而是ascii编码格式.
- SpringMVC-Controller&RestFul
Controller与RestFul 目录 Controller与RestFul 1. Controller 1. 控制器Controller 2. 利用接口定义控制器 1. 实现Controller ...
- 理解Spring AOP的实现方式与思想
Spring AOP简介 如果说IOC是Spring的核心,那么面向切面编程就是Spring最核心的功能之一了,在数据库事务中,面向切面编程被广泛应用. AOP能够将那些与业务无关,却为业务模块所共同 ...
- flutter driver 集成测试
最近一直断断续续的学习flutter,今天跟大家介绍一下flutter driver测试. flutter测试基础 Flutter的测试遵循Android的测试规范进行了分层. 单元测试:测试单一功能 ...
- Redis源码笔记--服务器日志和函数可变参数处理server.c
前言 Redis源码中定义了几个和日志相关的函数,用于将不同级别的信息打印到不同的位置(日志文件或标准输出,取决于配置文件的设置),这些函数的定义位于 server.h 和server.c 文件中,包 ...
- [LeetCode]647. 回文子串(DP)
###题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc&q ...
- 内存管理初始化源码4:add_active_range
我们在阅读源码时,函数功能可以分为两类:1. bootmem.c 2. page_alloc.c. 1. bootmem.c是关于bootmem allocator的,上篇文章已经简述过. 2. pa ...
- JDK15正式发布,新增功能预览!
JDK 15 在 2020 年 9 月 15 号正式发布了,这次发布的主要功能有: JEP 339:EdDSA 数字签名算法 JEP 360:密封类(预览) JEP 371:隐藏类 JEP 372:删 ...