一、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. 消息型中间件之RabbitMQ基础使用

    1.概念 RabbitMQ是AMQP(高级消息队列协议)协议的实现主要功能用于分布式应用当中的各组件间解耦.在传统C/S架构中,如果客户端发送一个请求消息,服务端必须得在线,有了中间件,客户端不是非得 ...

  2. asp.net报表结构学习记录

    当一份web报表项目压缩包躺在我的文件夹里时,我是完全懵的.作为一个学习了一个月java的asp.net小白,以前从来没有接触过这方面,我完全不知道从何入手. 手里也有asp.net开发学习视频,但都 ...

  3. JS数组遍历的十二种方式

    遍历有如下几种方式 数组方法 map forEach filter find findIndex every some reduce reduceRight 其他方法 for for in for o ...

  4. 【MarkDown】github readme添加图片 Markdown语法添加图片,适用各种markdown语法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一 ...

  5. Android开发工程师面试题总结。android开发面试经验

    1:Android中五种数据存储方式分别是什么?他们的特点?     (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使用,生成XML的格式存放在设备中 (2) SQ ...

  6. Resis常用命令及数据类型

    1.下载Windows环境redis安装: 2.下载jar包: commons-pool2-2.4.2.jar jedis-2.9.0.jar 3.项目结构: 4.代码说明: package com. ...

  7. C001:打印勾

    程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { printf(" *\n"); p ...

  8. 查看CentOs6.5/7的系统版本号

    在centos6.5上用 [root@msg45 ~]# lsb_release -aLSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0- ...

  9. 两表连接各种Join图示,SQL及查询结果

    按:SQL术语Join在中文对应的翻译是“连接”还是“联结”说法不一,下文将统一采用“连接”的译法. 开局一张图: 前奏/准备工作: Emp表结构: create table emp( empid n ...

  10. 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇

    本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...