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的更多相关文章

  1. ssh整合之三hibernate和spring整合

    1.拷贝我们的spring事务控制所需的jar包 2.在spring容器中配置我们的hibernateTemplate以及事务管理器 <?xml version="1.0" ...

  2. SSH(struts2+hibernate+spring)总结

    1 前三个文章 是我对ssh的具体实现 虽然没有真的写一个ssh的例子出来 但是 意思应该传达到了 主要还是注解注入的ssh太模块化了 感觉写出来意义不大 个人水平有限 说不清 2 我一开是写的是st ...

  3. ssh repo ----> struts+hibernate+spring( jar包和源码)各版本下载链接

    struts http://archive.apache.org/dist/struts/ hibernate http://hibernate.org/orm/releases/5.0/ sprin ...

  4. 重新学习之spring第四个程序,整合struts2+hibernate+spring

    第一步:导入三大框架的jar包(struts2.3.16.1+hibernate3.2+spring3.2.4) 第二步:编写web.xml 和struts.xml和applicationContex ...

  5. ssh整合,hibernate查询表数量count以及批处理添加

    String sql = "select count(*) from LogEntity as log "; Long count = (Long)getHibernateTemp ...

  6. SSH(Struts2 + Hibernate + Spring)嵌入 KindEditor(KE)

      1.    kindeditor 灌水 (下载地址,demo)          经过两天的折磨,又源代码,又官网学习,又网络搜索的,终于成功的嵌入KindEditor了. KindEditor确 ...

  7. SSH整合环境下Spring配置文件的配置

    applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans x ...

  8. ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

    ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库 ...

  9. struts2+hibernate+spring简单整合且java.sql.SQLException: No suitable driver 问题解决

    最近上j2ee的课,老师要求整合struts2+hibernate+spring,我自己其实早早地有准备弄的,现在都第9个项目了,无奈自己的思路和头绪把自己带坑了,当然也是经验问题,其实只是用myec ...

  10. Java - 框架之 SSH 整合

                        代码获取 十四. ssh 整合1 - 包 1. Struts jar 包    - Struts-2.xx\apps\stutrs2-blank\WEB-INF ...

随机推荐

  1. CountDownLatch类的使用

    java.util.concurrent.CountDownLatch是一个并发构造,它允许多个线程等候特定的操作完成. CountDownLatch用一个数字初始化,通过调用countDown()方 ...

  2. 浅谈css中一个元素如何在其父元素居中显示

    css如何垂直居中一个元素的问题已经是一个老生常谈的问题了.不管对于一个新手或者老手,在面试过程中是经常被问到的.前两天在看一个flex的视频教程,当中提到了有关元素的居中问题,所以今天小编就来扒一扒 ...

  3. 【排序算法】快速插入排序算法 Java实现

    基本思想 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部插入完成. 设数组为a[0...n-1] 初始时,a[0]自成一个有序区,无序区为a[1...n-1] ...

  4. JavaScript代码规范和性能整理

    性能 Js在性能方面有多要注意的地方: 避免全局查找 Js性能优化最重要的就是注意全局查找,因为作用域的查找是先找局部作用域在没有找到之后在去上一级作用域查找直到全局作用域,所以全局作用域查找的性能消 ...

  5. iOS 推送问题全解答《十万个为啥吖?》

    Q 1:为啥收不到推送(1)? 如果收到推送时,App 在前台运行,那么: iOS 10 before 顶部横幅不会弹出.没有任何展示,你以为「没有收到推送」. iOS 10 after 如果没有实现 ...

  6. JVM client模式和Server模式的区别

    在“你知道自己执行的是哪个jre吗?”一文中我们知道安装JDK时会安装了两套JRE:专用和公用,殊不知这两套JRE还有秘密. 专用和公用JRE的不同 不同点在于专用JRE的bin里不仅有“client ...

  7. Gradle之恋-任务2

    由于任务作为Gradle的核心功能模块,多花点精力是值得的,本文继上一篇主要涉及到:任务的执行顺序.为任务添加组和描述.跳过任务.扩展任务属性.定义默认任务. 任务顺序 如果构建(build)不能在清 ...

  8. node c++多线程插件 第二天 c++指针

    虽然取名叫node多线程插件,但是目前还是在学习c++的情况. 今天谈一谈c++指针. c++指针就像是c#中的引用变量,例如一个Person类的实例zs{Name="张三",Ag ...

  9. Java Stream API入门篇

    本文github地址 你可能还没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少类就清楚了.Java 8之所以费这么大功夫引入函数式编程,原因有二: 代码简洁,函数式编程写 ...

  10. QT 的使用及编写代码遇到的问题和解决方法

    QT 中将 QString 转化为 const char * 的问题 我开始的代码是这样的: QString qstr = "abcdef"; const char * cc = ...