SSH整合(一)hibernate+spring
1.导入maven节点 <dependencies>
//测试用的
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
//aop相关
<dependency>
<groupId> org.aspectj</groupId >
<artifactId> aspectjweaver</artifactId >
<version> 1.8.7</version >
</dependency>
//mysql驱动
<dependency>
<groupId>org.wisdom-framework</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34_1</version>
</dependency>
//c3p0数据源(选用)
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
//spring事务
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
//sqring核心
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.0.RELEASE</version>
</dependency>
//hibernate核心
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.6.Final</version>
</dependency>
//spring和hibernate整合相关
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version> 4.2.2.RELEASE</version>
</dependency>
//测试
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency> </dependencies>
//用于解决idea读取不到非resource目录下配置文件问题
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
2.建立分层

3.建立实体类Stuck
package cn.lhl.entity; /**
* Created by Administrator on 2017/4/2/002.
*/
//股票类
public class Stuck {
//id
private int sid;
//股票名
private String sname;
//持股数
private int scount;
//相关geter,setter
public int getSid() {
return sid;
} public void setSid(int sid) {
this.sid = sid;
} public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public int getScount() {
return scount;
} public void setScount(int scount) {
this.scount = scount;
}
}
4.创建Stuck的映射文件Stuck.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="cn.lhl.entity">
<class name="Stuck">
<id name="sid">
<generator class="native"></generator>
</id>
<property name="scount"/>
<property name="sname"/>
</class>
</hibernate-mapping>
5.创建dao接口IStuckDao和实现类StuckDaoImpl
package cn.lhl.dao; import cn.lhl.entity.Stuck; /**
* Created by Administrator on 2017/4/4/004.
*/
public interface IStuckDao {
int addStuck(Stuck stuck);
}
package cn.lhl.dao.impl; import cn.lhl.dao.IStuckDao;
import cn.lhl.entity.Stuck;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; /**
* Created by Administrator on 2017/4/4/004.
*/
public class StuckDaoImpl implements IStuckDao {
//创建session工厂
private SessionFactory sessionFactory;
//事务注解(执行该方法时打开事务)
@Transactional
//添加股票的方法
public int addStuck(Stuck stuck) {
Session session = sessionFactory.getCurrentSession();
Serializable save = session.save(stuck);
return (Integer)save;
} public SessionFactory getSessionFactory() {
return sessionFactory;
} public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
6.创建service层接口IStuckService和实现类StuckServiceImpl
package cn.lhl.service; import cn.lhl.entity.Stuck; /**
* Created by Administrator on 2017/4/4/004.
*/
public interface IStuckService {
int addStuck(Stuck stuck);
}
package cn.lhl.service.impl; import cn.lhl.dao.IStuckDao;
import cn.lhl.entity.Stuck;
import cn.lhl.service.IStuckService; /**
* Created by Administrator on 2017/4/4/004.
*/
public class StuckServiceImpl implements IStuckService {
private IStuckDao iStuckDao;
public int addStuck(Stuck stuck) {
return iStuckDao.addStuck(stuck);
} public IStuckDao getiStuckDao() {
return iStuckDao;
} public void setiStuckDao(IStuckDao iStuckDao) {
this.iStuckDao = iStuckDao;
}
}
7.创建spring配置文件applicationContext.xml<?xml version="1.0" encoding="UTF-8"?<beans xmlns="http://www.springframework.org/schema/beans"
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql:///gupiao" p:username="root" p:password="qq1684547081">
</bean>
<!--配置sessionFactory-->
<bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!--引入数据源-->
<property name="dataSource" ref="dataSource"></property>
<!--设置hibernate相关配置-->
<property name="hibernateProperties">
<props>
<!--sql方言-->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<!--是否显示sql-->
<prop key="hibernate.show_sql">true</prop>
<!--设置于线程绑定的session-->
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate5.SpringSessionContext</prop>
<!--设置自动更新表结构-->
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!--扫描hibernate小配置-->
<property name="mappingDirectoryLocations" value="classpath:cn/lhl/entity"></property>
</bean>
<!--dao代理bean-->
<bean name="stuckDaoImpl" class="cn.lhl.dao.impl.StuckDaoImpl">
<!--植入sessionFactory-->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--service代理bean-->
<bean name="stuckService" class="cn.lhl.service.impl.StuckServiceImpl">
<!--植入dao-->
<property name="iStuckDao" ref="stuckDaoImpl"></property>
</bean>
<!--设置事务管理器-->
<bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<!--引入sessionFactory-->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--配置注解事务扫描器-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
</beans>
8.创建测试类
package cn.lhl.test; import cn.lhl.entity.Stuck;
import cn.lhl.service.impl.StuckServiceImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; /**
* Created by Administrator on 2017/4/4/004.
*/
public class SSHTest {
@Test
public void add(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
StuckServiceImpl stuckService=(StuckServiceImpl) context.getBean("stuckService");
Stuck stuck=new Stuck();
stuck.setSname("龙骨");
stuck.setSname("1");
stuckService.addStuck(stuck);
}
}
整合完成
SSH整合(一)hibernate+spring的更多相关文章
- ssh整合之三hibernate和spring整合
1.拷贝我们的spring事务控制所需的jar包 2.在spring容器中配置我们的hibernateTemplate以及事务管理器 <?xml version="1.0" ...
- SSH(struts2+hibernate+spring)总结
1 前三个文章 是我对ssh的具体实现 虽然没有真的写一个ssh的例子出来 但是 意思应该传达到了 主要还是注解注入的ssh太模块化了 感觉写出来意义不大 个人水平有限 说不清 2 我一开是写的是st ...
- ssh repo ----> struts+hibernate+spring( jar包和源码)各版本下载链接
struts http://archive.apache.org/dist/struts/ hibernate http://hibernate.org/orm/releases/5.0/ sprin ...
- 重新学习之spring第四个程序,整合struts2+hibernate+spring
第一步:导入三大框架的jar包(struts2.3.16.1+hibernate3.2+spring3.2.4) 第二步:编写web.xml 和struts.xml和applicationContex ...
- ssh整合,hibernate查询表数量count以及批处理添加
String sql = "select count(*) from LogEntity as log "; Long count = (Long)getHibernateTemp ...
- SSH(Struts2 + Hibernate + Spring)嵌入 KindEditor(KE)
1. kindeditor 灌水 (下载地址,demo) 经过两天的折磨,又源代码,又官网学习,又网络搜索的,终于成功的嵌入KindEditor了. KindEditor确 ...
- SSH整合环境下Spring配置文件的配置
applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans x ...
- ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存
ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate : Hibernate是一个持久层框架,经常访问物理数据库 ...
- struts2+hibernate+spring简单整合且java.sql.SQLException: No suitable driver 问题解决
最近上j2ee的课,老师要求整合struts2+hibernate+spring,我自己其实早早地有准备弄的,现在都第9个项目了,无奈自己的思路和头绪把自己带坑了,当然也是经验问题,其实只是用myec ...
- Java - 框架之 SSH 整合
代码获取 十四. ssh 整合1 - 包 1. Struts jar 包 - Struts-2.xx\apps\stutrs2-blank\WEB-INF ...
随机推荐
- c#访问数据库的两种方法以及事务的两种方法
//2015/07/03 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
- 构建Docker平台【第二篇】安装 Docker
第一步:上传安装包和 docker 镜像 1.安装包: docker-engine-1.12.1-1.el7.centos.x86_64.rpm docker-engine-selinux-1.12. ...
- shell-早间学习,每日一点
1.定位行: sed -n '12,~3p' pass #从第12行开始,直到下一个3的倍数行(12-15行) sed -n '12,+4p' pass #从第12行开始,连续4行(12-16行) s ...
- jQuery源码学习:Sizzle
本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一 简介 Sizzle是用javascript实现的CSS selector engine,官网见https: ...
- Javascript事件绑定及深入
由于开学后的编程实验课,接触了海量字符换搜索的实验,所以好几天没有学习JS课程了,今天继续学习事件绑定. 传统事件绑定存在一些问题,如:同名事件函数都执行,第二个函数会覆盖第一个. 下面我们以事件切换 ...
- 从HTML5规范弄清i、em、b、strong元素的区别
为了语义化,HTML5增加了不少新标签.其中i.em和b.strong这两组标签是最容易弄混的,不好好去探究一下,还真说不清.这个也是前端面试中经常会问的问题.今天从源头上,也就是从HTML5的文档( ...
- ABP Zero源码
测试运行地址:http://ghy.demo.aspnetzero.com 账号:admin 密码:123456 需要源码,请加QQ:858-048-581 1.先编译成功,Nuget下载ABP的依 ...
- 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)
强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...
- 如何让celery接受定制的参数
背景介绍 最近的一个项目使用到celery结算订单,使用celery的确很方便.但是复杂的内部框架导致了需要传人大量的参数例如数据库配置文件等.下面先来看看我仿照官网写的代码.所有代码都放到githu ...
- canvas的beginPath和closePath分析总结,包括多段弧的情况
参考博文: Html5 canvas画图教程17:论beginPath的重要性 先看两个例子 例1: <canvas id="myCanvas" width="30 ...