【j2ee spring】27、巴巴荆楚网-整合hibernate4+spring4(2)
巴巴荆楚网-整合hibernate4+spring4(2)
1、图文项目
2、首先我们引入对应的jar包
这里用的是oracle 11g,所以我们使用的数据库连接jar包是ojdbc6,
实际上ojdbc5和6的区别就是支持的数据版本号的问题,仅仅要你安装了对应的数据库,对应的版本号里面就有对应的数据库jar包。不行百度绝壁有!
!
!
3、我们配置一下数据库中对应的实体对象
ProductType.java
/**
* 功能:这是产品类别的
* 文件:ProductType.java
* 时间:2015年5月12日10:16:21
* 作者:cutter_point
*/
package com.cutter_point.bean.product;
publicclassProductType
{
private Integer typeid;
public Integer getTypeid()
{
returntypeid;
}
publicvoid setTypeid(Integertypeid)
{
this.typeid = typeid;
}
}
Product.hbm.xml
<?
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 package="com.cutter_point.bean.product">
<class name="ProductType" table="ProductType">
<id name="typeid"column="typeid">
<generator class="sequence" />
</id>
</class>
</hibernate-mapping>
4、我们配置一下spring的配置文件beans.xml
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
<!-- 扫描带有spring特殊机制的类,这是把这些包以下全部的类都加入到spring中进行管理 -->
<context:component-scan base-package="com.cutter_point" />
<!-- 属性遍历器 -->
<!-- <context:property-placeholderlocation="classpath:jdbc.properties" /> -->
<!-- 连接数据库属性配置,destroy-method="close"就是说在这个bean被摧毁的情况下能够调用这个bean默认的close方法-->
<bean id="myDataSource" class="org.apache.commons.dbcp2.BasicDataSource"destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url"value="jdbc:oracle:thin:@localhost:1522:orcl"/>
<property name="username"value="账号"/>
<property name="password"value="密码"/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="1"/>
<!-- 连接池的最大值 dbcp2里面似乎没有-->
<!-- <property name="maxActive"value="500"/> -->
<!-- 最大空暇值.当经过一个高峰时间后。连接池能够慢慢将已经用不到的连接慢慢释放一部分,一直降低到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空暇值.当空暇的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>
<!-- hibernate二级缓存的配置 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- configuration elided for brevity -->
<property name="dataSource" ref="myDataSource" />
<property name="mappingResources">
<list> <!-- 映射文件 -->
<value>com/cutter_point/bean/product/Product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties"> <!-- 用来配置hibernate的属性配置 -->
<value>
org.hibernate.dialect.OracleDialect
hibernate.hbm2ddl.auto=update <!--其它取值 create、create-drop、update、validate none-->
hibernate.show_sql=true
hibernate.format_sql=true
<!-- 开启二级缓存功能 -->
hibernate.cache.use_second_level_cache= true
hibernate.cache.use_query_cache= false
hibernate.cache.region.factory_class= org.hibernate.cache.ehcache.EhCacheRegionFactory
<!-- hibernate3的二级缓存配置 -->
<!-- <propertyname="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>-->
</value>
</property>
</bean>
<!-- 事务管理器,吧上面配置的bean注入到这个里面 -->
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 我们採用注解的方式来使用这个事务,首先我们开启事务 -->
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>
5、接下来我们測试一下hibernate+spring是否配置成功
/**
* 功能:这是产品类别的单元測试
* 文件:ProductTest.java
* 时间:2015年5月12日10:27:24
* 作者:cutter_point
*/
package junit.test;
import javax.sql.DataSource;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.BeforeClass;
import org.junit.Test;
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
importcom.cutter_point.bean.product.ProductType;
public class ProductTest
{
@BeforeClass
publicstatic void setUpBeforeClass() throws Exception
{
}
@Test
publicvoid test()
{
ProductTypept = new ProductType(); //new一个对象
pt.setTypeid(78); //设置id号码
Configurationcfg = new Configuration(); //得到Configuration
SessionFactorysf =cfg.configure("/config/hibernate/hibernate.cfg.xml").buildSessionFactory(); //取得session工厂
Sessionsession = sf.openSession();
session.beginTransaction();
session.save(pt);
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
publicvoid testSpring()
{
//測试spring能否够运作
ApplicationContextcxt = new ClassPathXmlApplicationContext("config/spring/beans.xml");
DataSourcedatasource = (DataSource)cxt.getBean("myDataSource"); //取出一个对象
System.out.println(datasource); //推断是不是为空,
}
}
6、总结
这个spring里面配置了数据源是用的org.apache.commons.dbcp2.BasicDataSource
这个jar包是,当然你们能够用其它的,我这里仅仅是一个举例,假设你报一个神奇version5.1的错误的话,请换一个数据源jar包,比方commons-dbcp.jar
这个里面就把org.apache.commons.dbcp2.BasicDataSource改为org.apache.commons.dbcp.BasicDataSource
这个事实上就是版本号问题。其它的地方应该是不用改了!
。。!
【j2ee spring】27、巴巴荆楚网-整合hibernate4+spring4(2)的更多相关文章
- 【j2ee spring】30、巴巴荆楚网-综合hibernate4+spring4(5)分页
巴巴荆楚网-综合hibernate4+spring4(5)分页 1.图文项目 2.首先我们引入对应的jar包 3.我们配置一下数据库中对应的实体对象 ProductType.java /** * 功能 ...
- (六)Spring4 整合Hibernate4,Struts2
第一节:S2SH 整合所需Jar 包 Struts2.3.16,Spring4.0.6,Hibernate4.3.5 整合所需jar 包: Struts2.3.16 jar 包 Spring4.0.6 ...
- 【j2ee spring】44、巴巴运动网前台产品显示
[j2ee spring]44.巴巴运动网前台产品显示 项目结构 项目代码 界面显示 <%@ page language="java" isELIgnored="f ...
- spring MVC框架入门(外加SSM整合)
spring MVC框架 一.什么是sping MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 W ...
- 解决Spring Boot(2.1.3.RELEASE)整合spring-data-elasticsearch3.1.5.RELEASE报NoNodeAvailableException[None of the configured nodes are available
Spring Boot(2.1.3.RELEASE)整合spring-data-elasticsearch3.1.5.RELEASE报NoNodeAvailableException[None of ...
- Spring整合hibernate4:事务管理
Spring整合hibernate4:事务管理 Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTran ...
- (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合
http://blog.csdn.net/yerenyuan_pku/article/details/72231763 之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBa ...
- Spring Boot 2.0 快速集成整合消息中间件 Kafka
欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site ...
- Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码)
Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码) 备注: 之前在Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合中 ...
随机推荐
- Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置
接博文<Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)>.上篇博文中,仅简单介绍使用串口的Kgbd的流程(kgdboc方式),本文将重点介绍KGDB调试Linux内核的原 ...
- DB2错误码解释对照
表 2. SQLSTATE 类代码 类 代码 含义 要获得子代码, 参阅... 00 完全成功完成 表 3 01 警告 表 4 02 无数据 表 5 07 动态 SQL 错误 表 6 ...
- Dvtm -- 平铺式终端
Dvtm -- 平铺式终端_Linux伊甸园开源社区-24小时滚动更新开源资讯,全年无休! Dvtm -- 平铺式终端 关注我们: 如果你使用过 Dwn 或 Awesome 这种平铺式窗口管理器,一定 ...
- 百度地图之UI控制
在本文中主要介绍百度地图UI控制功能,即控制地图是否有缩放.平移.双击放大.旋转.俯视的功能以及控制是否显示内置缩放组件.指南针位置等.在文中采用标签监听使每个控制功能的方法见名知义,代码原型来源百度 ...
- Cocos2d-x 3.1.1 lua-tests 开篇
Cocos2d-x 3.1.1 lua-tests开篇 本篇博客打算从研究Cocos2d-x引擎提供的測试样例来写起,笔者针对Cocos2d-x 3.1.1这个版本号来介绍怎样来学习它给我们提供的 ...
- 不起眼的 z-index 却能牵扯出这么大的学问(转)
z-index在日常开发中算是一个比较常用的样式,一般理解就是设置标签在z轴先后顺序,z-index值大的显示在最前面,小的则会被遮挡,是的,z-index的实际作用就是这样. 但是你真的了解z-in ...
- [转]解决get方法传递URL参数中文乱码问题
来自:http://www.javaeye.com/topic/483158 应用一:解决tomcat下中文乱码问题(先来个简单的) 在tomcat下,我们通常这样来解决中文乱码问题: 过滤器代码: ...
- sql连接错误(Microsoft SQL Server,错误:2)
昨天用SQL语句建表的时候写了一段代码,对于代码的逻辑和内容我不太肯定对不正确.反正是毫不犹豫的让它运行了,过程中出现好几个错误,当时没有太在意,想着大不了出错了再重写一个.结果--玩坏了,从昨天到如 ...
- poj 3278 Catch That Cow (bfs搜索)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 46715 Accepted: 14673 ...
- 智能生活 “视”不可挡——首届TCL杯HTML5智能电视开发大赛等你来挑战
http://www.csdn.net/article/2014-06-04/2820063-TCL-Smart-TV-Innovation-Competation