java之hibernate之配置讲解
1.映射文件:User.hbm.xml
<!--
package 指向class中所有类的包名,可以直接在指定类名时同时指定包名
-->
<hibernate-mapping package="cn.vincent.pojo">
<!--
class 表示类的映射
name表示类名,如果hibernate-mapping中没有指定包名,在这里必须指定。
table 指定类所对应的表名 如果不写 默认和类名一致
-->
<class name="User" table="t_user">
<!--
id表示主键映射,在hibernate中,类所对应的表必须有主键
name表示 类中对应数据库表中主键属性名
column 表示字段名称 不写和属性名一致
type 表示属性的类型 如果不写 会自动根据类的属性信息查找
-->
<id name="id" column="id" type="int">
<!--
generator表示主键生成策略-为保存数据时指定其id
increment
用于为long, short或者int类型生成 唯一标识。
只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。
select max(id) from table;
identity
对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL
的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。
sequence
在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),
而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。
<generator class="sequence">
<param name="sequence">sequence_name</param>
</generator>
hilo
使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和
字段(默认分别是 hibernate_unique_key 和next_hi)作为高位值的来源。
高/低位算法生成的标识符只在一个特定的数据库中是唯一的。
uuid-开发中使用最多
用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用
了IP地址)。UUID被编码为一个32位16进制数字的字符串。
native
根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
assigned 手动指定id
让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素
没有指定时的默认生成策略。
foreign
使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。
--> <generator class="native"></generator>
</id>
<!--
property 表示属性的映射
name 属性名 区分大小写,属性提供get/set方法
column 字段名 不写时 默认和属性名一致
type 属性的类型 可以不写
-->
<property name="name" column="name" type="java.lang.String"/>
<property name="age" column="age" type="int"/>
</class>
</hibernate-mapping>
2.配置文件讲解:hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<!-- 数据库连接信息 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 默认 localhost:3306 -->
<property name="connection.url">jdbc:mysql:///test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property> <!-- 通用配置 -->
<!-- 方言:hibernate要支持多种数据库,根据不同数据库生成对应的sql语句
告诉hibernate使用的什么数据库,以便生成对应数据库的sql
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 打印sql语句 -->
<property name="show_sql">true</property>
<!-- 格式化sql -->
<property name="format_sql">true</property>
<!-- 映射信息 注意映射文件存放的是文档路径 需要用/ -->
<mapping resource="cn/vincent/pojo/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
java之hibernate之配置讲解的更多相关文章
- java之spring之配置讲解
首先目录结构如下: 1. User.java package cn.sxt.vo; import java.util.Date; public class User { private String ...
- java之struts2的配置讲解(2)
在 java之struts框架入门教程 基础上,进行下列操作 1.结构对比 原来的项目结构图 现在的结构图 即从结构上可以看出,在HelloStruts项目中增加了config 文件夹(Source ...
- (转)Hibernate的配置详解
http://blog.csdn.net/yerenyuan_pku/article/details/65041077 在<Hibernate快速入门>一文中,我有讲到Hibernate的 ...
- Hibernate 基础配置及常用功能(一)
本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hi ...
- 【转】Spring+Hibernate+EHcache配置(一)
大量数据流动是web应用性能问题常见的原因,而缓存被广泛的用于优化数据库应用.cache被设计为通过保存从数据库里load的数据来减少应用和数据库之间的数据流动.数据库访问只有当检索的数据不在cach ...
- 【原创】LoadRunner Java Vuser脚本的配置和调试指南
1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...
- 【原创】LoadRunner Java Vuser开发环境配置指南
1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...
- Hibernate缓存配置
一级缓存 Hibernate的一级缓存是由Session提供的,因此它只存在于Session的生命周期中,当程序调用save(),update(),saveorupdate()等方法 及调用查询接口l ...
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
随机推荐
- 树莓派基于scratch2控制GPIO
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/raspberry_scratch2_gpio_control.m ...
- mysql 创建分组
mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...
- 刷题3:给定一个数组 nums,判断 nums 中是否存在三个下标 a,b,c数相加等于targe且a,b,c不相等
题目: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,下标 ,a ,b , c 对应数相加等于 targe 找出所有满足条件且不重复的三元组下标 解析: ...
- [Beta]第五次 Scrum Meeting
[Beta]第五次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/13 22:00 30min 大运村公寓6F楼道 附Github仓库:WEDO 例会照片 (一人上 ...
- 执行buildman --fetch-arch arm提示"urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>"如何处理?
答: 在uboot源码的tools/buildman/toolchain.py中取消证书验证,修改内容如下: diff --git a/tools/buildman/toolchain.py b/to ...
- Python3基础 yield 在无返回值的函数中的简单示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- matlab学习笔记4--多媒体文件的保存和读取
一起来学matlab-matlab学习笔记4 数据导入和导出_2 多媒体文件的保存和读取 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用&g ...
- 在使用redis做缓存后,mybatis的延迟加载失效
原来使用的是EHcache,mybatis延迟加载没有问题,改成redis后,延迟加载获得数据时就会发生错误. 报:Cannot get Configuration as configuration ...
- jenkins部署集群
环境: 两台Centos7.3系统 master:172.16.1.227 slave:172.16.1.228 其中一台作为master,另一台为slave(slave服务器上无需安装jenkins ...
- logrotate 切割日志
在工作中需要切割日志我们项目中选择的系统自带的logrotate,如需要其他需求需要自己在百度一下或者参考: https://www.cnblogs.com/kevingrace/p/6307298. ...