SSH(五)spring整合hibernate
一、创建hibernate实体映射文件。
在实体所在包创建映射文件product.hbm.xml,引入hibernate的映射约束。(该约束位于hibernate3.jar里面hibernate-mapping-3.0.dtd,可cope使用)如下图:

product.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- hibernate约束头信息:hibernate3.jar→org,hibernate→hibernate-mapping-3.0.dtd -->
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
<!-- name:实体的全路径 table:映射创建的DBA表名 -->
<class name="com.ssh.entity.product" table="product">
<id name="pid" column="pid">
<!--class="native" 主键生成侧路:本地策略 -->
<generator class="native"></generator>
</id> <property name="pname" column="pname" length="20"></property>
<property name="price" column="price"></property>
</class>
</hibernate-mapping>
二、利用spring引入属性文件的方式连接数据库
2.1在项目src下新建dba连接属性文件jdbc.produce,用来保存数据库连接的基本参数:
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh
jdbc.username=root
jdbc.password=123456
2.2在applicationcontext.xml中利用context:property-placeholder标签引入属性文件,为连接池准备参数:
<!-- 引入外部属性文件 -->
<context:property-placeholder location="classpath:jdbc.produce"/>
2.3在applicationcontext.xml配置连接池 :利用引入配置文件属性为连接池赋值
<!-- 配置连接池 :利用引入配置文件属性为连接池赋值 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
2.4在applicationcontext.xml配置hibernate属性和加载映射文件:
(hibernate方言位置:hibernate-release-5.2.8.Final\project\etc\hibernate.properties)如下图:

applicationcontext.xml配置映射:(注意sessionfactory的hibernate版本的引入,根据自己hibernate版本来)
<!-- 配置hibernate的相关属性:spring启动根据该配置创建映射表 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 注入连接池 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 配置hibernate属性 -->
<property name="hibernateProperties">
<props>
<!-- hibernate.dialect:hibernate方言 -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 配置hibernate中的映射文件 -->
<property name="mappingResources">
<list>
<!-- 映射文件全路径 -->
<value>com/ssh/entity/product.hbm.xml</value>
</list>
</property>
</bean>
完成以上操作后,在启动项目时,系统加载初始化spring时加载applicationcontext.xml会自动连接数据库并根据配置映射在数据库中创建实体对应的表。
三、启动项目观察数据库

运行创建成功!
SSH(五)spring整合hibernate的更多相关文章
- 【SSH】spring 整合 hibernate
spring-hibernate-1.2.9.jar applicationContext.xml <bean id="sessionFactory" class=" ...
- 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】
一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...
- SSH整合之spring整合hibernate
SSH整合要导入的jar包: MySQL中创建数据库 create database ssh_db; ssh_db 一.spring整合hibernate带有配置文件hibernate.cfg.xml ...
- 【SSH框架】系列之 Spring 整合 Hibernate 框架
1.SSH 三大框架整合原理 Spring 与 Struts2 的整合就是将 Action 对象交给 Spring 容器来负责创建. Spring 与 Hibernate 的整合就是将 Session ...
- spring 整合hibernate注解时候,出现“Unknown entity: com.ssh.entry.Admin; nested exception is org.hibernate.MappingException: Unknown entity: com.ssh.entry.Admin”异常的问题
今天学习使用ssh框架的时候,出现一个异常,弄了好久才找到,在这记录一下,我的sb错误1.spring整合hibernate,取代*.hbm.xml配置文件 在applicationContext ...
- Maven环境下搭建SSH框架之Spring整合Hibernate
© 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...
- 二 SSH整合:Spring整合Hibernate,无障碍整合&无核心配置整合,Hibernate模版常用方法,
重建SSH项目 java项目可以直接复制,但是web项目除了改名字还要该配置,如下: 方式一:无障碍整合:带Hibernate配置文件 <?xml version="1.0" ...
- 使用Spring整合Hibernate,并实现对数据表的增、删、改、查的功能
1.1 问题 使用Spring整合Hibernate,并实现资费表的增.删.改.查. 1.2 方案 Spring整合Hibernate的步骤: 1.3 步骤 实现此案例需要按照如下步骤进行. 采用的环 ...
- Spring(四):Spring整合Hibernate,之后整合Struts2
背景: 上一篇文章<Spring(三):Spring整合Hibernate>已经介绍使用spring-framework-4.3.8.RELEASE与hibernate-release-5 ...
- java框架之Spring(4)-Spring整合Hibernate和Struts2
准备 导包 Struts2 导入 Struts2 zip 包解压目录下 'apps/struts-blank.war' 中所有 jar 包,如下: asm-3.3.jar asm-commons-3. ...
随机推荐
- Python使用tesserocr识别文字过程中遇到的一个问题
最近在使用Python识别PNG图像中包含的文字时遇到一个问题.解决过程记录如下. (Python使用tesserocr的安装过程不再描述.) 在使用tesserocr识别PNG图像中的文字时,如果P ...
- Django 运行报异常:AttributeError: 'str' object has no attribute 'get'
Technorati Tags: Python,Django,Web 在使用django.contrib.auth用户机制进行用户的验证.登录.注销操作时,遇到这个异常. 首先是写了一个登录的视图,要 ...
- frps服务端与nginx可共用443端口
转载自: https://www.ioiox.com/archives/78.html frps服务器上的nginx frps.ini配置 由于nginx占用80/443端口,frps.ini中的 v ...
- SQL的事务
一.基本概念 事务是数据库区别于文件系统的重要特性之一,当有了事务,就可以让数据库始终保持一致性,同时可以通过事务的机制恢复到某个时间点,保证了提交到数据库的修改不会因为系统崩溃而丢失: 事务只是一个 ...
- 洛谷P1725 琪露诺 (单调队列/堆优化DP)
显然的DP题..... 对于位置i,它由i-r~i-l的位置转移过来,容易得到方程 dp[i]=dp[i]+max(dp[i−r],...,dp[i−l]). 第一种:n2的暴力,只能拿部分分. 1 ...
- 洛谷P1120 小木棍 (搜索+剪枝)
搜索的经典题. 我们要求木根的最小长度,就要是木根的数量尽可能多,可以发现木根的长度一定可以整除所有小木棒的总长度,从小到大枚举这个可能的长度,第一次有解的就是答案. 关心的状态:当前正在拼哪根木棍, ...
- 2022-08-21-xdm说个事啊
layout: post cid: 15 title: xdm说个事啊 slug: 15 date: 2022/08/21 13:06:34 updated: 2022/08/21 13:06:34 ...
- CompareTest
一.说明:Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小. 如何实现? ...
- super关键字的使用
1.super理解为:父类的 2.super可以用来调用:属性.方法.构造器 3.super的使用:调用属性和方法 3.1 我们可以在子类的方法或构造器中.通过使用"super.属性&quo ...
- ssh端口映射 解决服务器使用tensorboard的问题
有时会在服务器上使用tensorboard,然而本地无法直接访问tensorboard结果网页.这时候使用端口映射即可.比如tensorboard上占用的是 6006 端口,也就是说结果在服务器的 l ...