一、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的更多相关文章

  1. Hibernate4.3基础知识2

    一.数据库的隔离级别   脏读 不可重复读 幻读 Read uncommited Y Y Y Read commited N Y Y Repeatable read N N Y Serializabl ...

  2. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  3. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  4. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  5. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  6. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  7. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  8. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  9. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. if-else 可以这么写

    最近部门在对以往的代码做一些优化,我在代码中看到一连串的 if(){}elseif(){} 的逻辑判断.这明显是有优化空间的. 由于内部代码不适合分享,这里我就用 <输出今天为星期几> 来 ...

  2. 专项测试实战 | 如何测试 App 流畅度(基于 FPS 和丢帧率)

    本文为霍格沃兹测试学院学员学习笔记. FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数 ...

  3. android 数据绑定(4)实用特性及疑惑:使用控件、格式化@string/xxx、对象传递、双向数据绑定

    1.在布局内使用其它控件 1.1 效果 箭头所指3个控件的内容随输入框内容而变化. 1.2 示例代码 <?xml version="1.0" encoding="u ...

  4. 微服务实战SpringCloud之Spring Cloud Feign替代HTTP Client

    简介 在项目中我们有时候需要调用第三方的API,微服务架构中这种情况则更是无法避免--各个微服务之间通信.比如一般的项目中,有时候我们会使用 HTTP Client 发送 HTTP 请求来进行调用,而 ...

  5. C# 获取当前月的月初和月末

    /// <summary> /// 获取当前月的月末日期 /// </summary> /// <returns></returns> public s ...

  6. 用于测试SqlAnalyzer1.00的十七个测试用例

    SqlAnalyzer功能:解析SQL语句,具体到字段,表和条件,并将其整理后输出格式化文本. 1. 原文=select a from b 整理后文本= select a from b 2. 原文=s ...

  7. Maven是什么? Maven的概念+作用+仓库的介绍+常用命令

    Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型.一组标准集合,一个依赖管理系统.和用来运行定义在生命周期阶段中插件目标和逻辑. 核心功能 Maven的核心 ...

  8. python sha256 键值对参数格式接口测试

    # coding=utf-8 import requests import time import uuid import hashlib import hmac import random impo ...

  9. jmeter连数据库

    前提:jmeter不能直接连数据库,需要导入一个jar包 步骤: 1.右键线程组--添加--配置元件--JDBC Connection Configuration 2.jdbc的基本配置:可以修改jd ...

  10. oracle数据库备份、还原命令及常见问题(待补充)

    1.oracle数据库的备份:先查空表——将结果全选复制为insert语句——将语句执行后导出 先select 'alter table '||table_name||' allocate exten ...