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 基础知识梳理( ...
随机推荐
- 微信小程序——导航栏组件
组件内属性详解 属性 类型 默认值 必填 说明 nav-postion String relative 否 导航栏(包含导航栏以及状态栏)的position,可取值relative.fixed.a ...
- akka-grpc - 应用案例
上期说道:http/2还属于一种不算普及的技术协议,可能目前只适合用于内部系统集成,现在开始大面积介入可能为时尚早.不过有些项目需求不等人,需要使用这项技术,所以研究了一下akka-grpc,写了一篇 ...
- 复制一个Python全部环境到另一个环境
导出此环境下安装的包的版本信息清单 pip freeze > requirements.txt 联网,下载清单中的包到all-packet文件夹 [root@localhost ~]# p ...
- RabbitMQ配置文件(advanced.config)
这是advanced.config配置文件示例: [ %% ------------------------------------------------ --------------------- ...
- qdu-凑数题(01背包)
Description 小Q手里有n(n<=1000) 个硬币,每枚硬币有一定的金额(200=>x>=1)他想知道,用这些硬币(每枚硬币只能用一次,但可能会有等面值的用两次) 能组成 ...
- stack 数据结构
栈定义 栈:后进先出(永远从栈顶取元素)LIFO last-in-first-out 栈实现 class Stack { constructor() { this.items = [] this. ...
- Mysql优化概述及其压力测试工具
衡量指标 TPS:Transactions Per Second (每秒传输的事物处理个数) ,这是指服务器每秒处理的事物数,支持事物的存储引擎如Innodb等特有的一个性能指标; QPS:Queri ...
- html基础:css样式2
1.字体边框基本设置 <!--border边框:solid实线,red红色,1px粗--> <!--font-weight: bolder字体加粗 font-size:字体大小--& ...
- jzoj1497. 景点中心
Description 话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观.镇海中学共有n个景点,每个景点均有若干学生正在参观.这n个景点以自然数1至n编号, ...
- 如何制作一个手机上的Github图床捷径(workflow)
准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...