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 ...
随机推荐
- Sublime Text 3 修改配色主题【侧边框之...】
Sublime Text3 是挺喜欢的一款编辑器,一周五天朝九晚六面对,而默认的侧边栏颜色总显得不尽人意.右侧的代码高亮[color_scheme:Monokai]挺喜欢的,心里就想着如何把侧边栏也给 ...
- Hangfire 使用笔记
“巨人们”的地址 Hangfire Mysql: https://github.com/arnoldasgudas/Hangfire.MySqlStorage 在获取set表数据的sql语句有bug ...
- ZooKeeper的不同类型的Znodes
在ZooKeeper中有3个不同类型的znodes:persistent, ephemeral, sequential Persistent Znodes(默认)在ZooKeeper中,这是默认的zn ...
- oracle 数据库删除表或表数据恢复问题
oracle恢复误删除的数据:使用闪回,ORACLE 10G及以上版本! 1. flashback table table_name to timestamp systimestamp-1; (sys ...
- Array对象方法属性总结
属性主要有三个:constructor;length;prototype; constructor(英文意思:构造器):返回对创建此对象的数组函数的引用.例如:var arr=new Array(); ...
- http-server 命令行
安装 (全局安装加 -g) : npm install http-server (npm install --global http-server) 在站点目录下开启命令行输入 http server ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证
上一篇:Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门 http://www.cnblogs.com/tianqing/p/5944573.ht ...
- AlloyFinger.js 源码 学习笔记及原理说明
此手势库利用了手机端touchstart, touchmove, touchend, touchcancel原生事件模拟出了 rotate touchStart multipointStart ...
- SQL Sever数据库中 T-sql语句的使用(增、删、改、查)
SQL中的增.删.改.查 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert ...
- category类别中添加属性
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...