spring中集成hibernate
1.hibernate框架是什么?
(1)hibernate对jdbc进行的封装
(2)开源的轻量级框架。
2.hibernate思想:ORM(对象关系映射)
(1)让实体类和数据库中的表一一对应(表和实体类对应、实体属性和表字段对应)
(2)不直接操作数据库表,而是直接操作实体类
3.搭建hibernate
(1)pom中的依赖
<!-- 关系型数据库整合时需配置 如hibernate jpa等 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.1..RELEASE</version>
</dependency> <!-- Hibernate 依赖配置 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3..CR2</version>
</dependency> <dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0..Final</version>
</dependency> <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.3..CR2</version>
</dependency>
(2).hibernate的核心配置文件
<context:property-placeholder location="classpath:/config.properties" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" >
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan">
<list>
<value>pojo</value>
</list>
</property>
<!--
<property name="mappingResources">
<list>
<value>xml文件位置</value>
</list>
</property>
-->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql:false}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql:false}</prop>
</props>
</property>
</bean>
(3)映射文件(若使用注解和不适用配置文件)
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping> <class name="pojo.User" table="user" >
<id name="id" column="name" >
<generator class="native"/>
</id>
<property name="name" column="name" />
<property name="age" column="age"/>
</class>
</hibernate-mapping>
(4).实体
/***
* hibernate对实体类的要求
* (1)属性必须是private 且有public的get和set方法
* (2)必须有唯一标识属性来表示实体类
* (3)属性的类型建议用包装类型
* hibernate实体类有三种状态:
* (1)瞬时态:没有id,与session没有关系
* (2)持久态:有id,与session有关系
* (3)托管太:有id,和session无关
*/ @Entity
@Table (name = "user")
public class User {
/**
* id作为主键,主键有很多生成策略
* (1)native自增长:根据选择的数据库自动选择主键的生成方式
* (2)uuid:字段用String类型
* (3)identity 需要数据库支持自增长,mysql支持,oracle不支持
*/
@Id
@GeneratedValue
@Column (name = "id")
private int id; @Column (name = "name", nullable = false, length = 100)
private String name; @Column (name = "age", nullable = false)
private int age; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
spring中集成hibernate的更多相关文章
- 【实验一 】Spring Boot 集成 hibernate & JPA
转眼间,2018年的十二分之一都快过完了,忙于各类事情,博客也都快一个月没更新了.今天我们继续来学习Springboot对象持久化. 首先JPA是Java持久化API,定义了一系列对象持久化的标准,而 ...
- 第二十六天 蛰伏的Hibernate遇到春日的暖阳 —Spring MVC 集成Hibernate使用(一)
6月7日.晴."纷纷红紫已成尘,布谷声中夏令新. 夹路桑麻行不尽.始知身是太平人. " Hibernate和Spring的香艳相逢,不仅是Bean和Bean之间电光火 ...
- spring mvc 集成hibernate步骤
今天从头把hibernate集成进入springMVC框架中,把过程记录下来. 1.首先要在监听器配置文件中加入hibernate支持,如下: <?xml version="1.0&q ...
- [原]CAS和Shiro在spring中集成
shiro是权限管理框架,现在已经会利用它如何控制权限.为了能够为多个系统提供统一认证入口,又研究了单点登录框架cas.因为二者都会涉及到对session的管理,所以需要进行集成. Shiro在1.2 ...
- spring中集成shiro
Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成. 在示 ...
- spring中集成shiro进行安全管理
shiro是一款轻量级的安全框架,提供认证.授权.加密和会话管理四个基础功能,除此之外也提供了很好的系统集成方案. 下面将它集成到之前的demo中,在之前spring中使用aop配置事务这篇所附代码的 ...
- 在Spring(4.3.22)中集成Hibernate(5.4.0)
(1)pom中添加相关依赖 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibe ...
- Spring中使用Hibernate
在context中定义DataSource,创建SessionFactoy,设置参数: DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行 ...
- Spring中操作Hibernate的几种方式
1.直接操作模版方式HQL: //通过spring的模版方式来操作Hibernate的HQL语句 return this.getHibernateTemplate().find("from ...
随机推荐
- nvidia-smi 实时查看
需要用到 watch 命令: watch -n nvidia-smi
- 5+移动App
1.5+ App开发入门指南 https://www.cnblogs.com/tuyile006/p/5395909.html 2.5+ App开发Native.js入门指南 http://ask.d ...
- Cpython解释器GIL-多线程执行流程
- (3)打造简单OS-MBR引导区转移加载简单程序(突破512限制)
在第一节<(1)汇编写入引导区,虚拟机启动步骤>中讲解到一个简单屏幕显示一川字符串,第二节讲到BIOS启动过程! 第一节中基本原理就是将那个汇编代码用nasm汇编器进行汇编成二进制,然后把 ...
- rpgmakermv \c 常用颜色一览
1 2 3 4 5 6 7 14 18
- 4步解决“Microsoft Office Professional Plus 2013在安装过程中出错”
公司新搭建了AD域,公司内使用了1年多的电脑,现在要加入域,加域过程问题错综复杂. 其中一台电脑上,反应说Excel经常卡住,严重影响使用,所以考虑重装office2013.在控制面板卸载了: 卸载完 ...
- pandas的基本功能(一)
第16天pandas的基本功能(一) 灵活的二进制操作 体现在2个方面 支持一维和二维之间的广播 支持缺失值数据处理 四则运算支持广播 +add - sub *mul /div divmod()分区和 ...
- nodejs笔记之路由及util和url模块
路由是URL到函数的映射:对于最简单的静态资源服务器,可以认为,所有URL的映射函数就是一个文件读取操作.对于动态资源,映射函数可能是一个数据库读取操作,也可能是进行一些数据的处理,等等. 如: /u ...
- 小米5查看设备号信息及验证type-c数据线
首先,下载adb软件. 接着打开系统的开发者模式和调试模式. 打开cmd软件,切换到adb软件文件夹所在路径,输入命令:adb devices,则能看到设备的设备号信息. 如果设备号是00000001 ...
- 翻译 | Placing Search in Context The Concept Revisited
翻译 | Placing Search in Context The Concept Revisited 原文 摘要 [1] Keyword-based search engines are in w ...