2019独角兽企业重金招聘Python工程师标准>>>

一:dataSource 数据源配置

在applicationContext.xml 中配置 dataSource

<bean id="dataSource"  class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><!-- 这里使用的dbcp方式,还有c3p0 和 proxool , 我没有使用,先不列举。 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/数据库名"></property><property name="username" value="root"></property><property name="password" value="111111"></property><property name="maxIdle" value="30"></property> <property name="maxWait" value="10"></property> <property name="defaultAutoCommit" value="false"></property></bean>

在dao或者service 中注入,dataSource

public class UserDAOImpl implements UserDAO {
private DataSource dataSource ;public DataSource getDataSource(){return dataSource;
}@Resource  //从bean中获取
public void setDataSource(DataSource dataSource){this.dataSource = dataSource;
}public void save(User user){
try{Connection conn = datasource.getConnection();   //dataSource 的方法, 获得连接。conn.createStatement().executeUpdate("insert into user values (null,'wangyi')");conn.close();}catch(SQLException e){e,printStackTrace();}}}}

二: sessionFactory配置:

方法一: 我们在spring的配置文件applicationContext.xml里面引用hibernate.cfg.xml (也就是保留hibernate.cfg.xml)

<!-- 配置sessionFactory --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property> </bean>

方法二:不使用hibernate的 hibernate.cfg.xml 配置文件。

<bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- <property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property>--><property name="dataSource" ref="dataSource"></property><property name="mappingResources"><list><value>com/bbs/model/Administrator.hbm.xml</value><value>com/bbs/model/Attention.hbm.xml</value><value>com/bbs/model/Collection.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property></bean>

三:hibernateTemplate :

xml配置:

<bean name="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"></property></bean>

使用:

    private HibernateTemplate hibernateTemplate;public HibernateTemplate getHibernateTemplate() {return hibernateTemplate;}@Resourcepublic void setHibernateTemplate(HibernateTemplate hibernateTemplate) {this.hibernateTemplate = hibernateTemplate;}
 public List<Posts> searchAllPosts() {List<Posts> list = hibernateTemplate.find("from Posts");return list;}

四:事务:

<!-- dbcp data base connection pool --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/myblog"></property><property name="username" value="root"></property><property name="password" value="111111"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><!-- 事务管理, 方法之前方法之后加点东西。。HibernateTransactionManager就是  aspect 切面类 --><bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean>
   <!-- Annotation 驱动的事务管理   我没有用到--><!--   <tx:annotation-driven transaction-manager="txManager" /> --> <!-- 在需要的方法上加上 @Transactional 会自动在前后加上关于事务的业务逻辑。tx.beginTransaction 和   tx.commit  或者是抛出错误 回滚 callback()-->
 <!-- 下面进行的就是为方法加事务 -->
  <tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="*" propagation="REQUIRED" /><!-- propagation="REQUIRED"的意思,前面方法没有transaction就创建,有就不创建 --></tx:attributes></tx:advice><!--  advice是你想向别的程序内部不同的地方注入的代码。pointcut定义了需要注入advice的位置,通常是某个特定的类的一个public方法。advisor是pointcut和advice的装配器,是将advice注入主程序中预定义位置的代码。--><aop:config><aop:pointcut id="managerService"expression="execution(public * com.myblog.manager..*.*(..))" /><aop:advisor pointcut-ref="managerService" advice-ref="txAdvice" /></aop:config>


  

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/wangt10/blog/508386

毕业设计(五)---spring学习笔记(3)之-dataSource,sessionFactory,hibernateTemplate,事务 的简单配置。...相关推荐

  1. 毕业设计(三)---spring学习笔记(1)之-IOC

    2019独角兽企业重金招聘Python工程师标准>>> 框架搭建完毕,准备开始动手,理了一下思路,发现struts2 和 hibernate3 的各种公用都比较清楚,唯独对sprin ...

  2. Spring学习笔记之MyBatis

    系列文章目录 Spring学习笔记 之 Springhttps://blog.csdn.net/weixin_43985478/article/details/124411746?spm=1001.2 ...

  3. spring学习笔记06-spring整合junit(出现的问题,解决的思路)

    spring学习笔记06-spring整合junit(出现的问题,解决的思路) 文章目录 spring学习笔记06-spring整合junit(出现的问题,解决的思路) 3.1测试类中的问题和解决思路 ...

  4. Spring学习笔记:配置单数据源

    Spring学习笔记:配置单数据源 一.Spring Boot默认数据源类型 Springboot默认支持4种数据源类型,定义在 org.springframework.boot.autoconfig ...

  5. 【Spring学习笔记 九】Spring声明式事务管理实现机制

    什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...

  6. Spring 学习笔记----->AOP

    Spring 学习笔记----->AOP 代理模式 为什么学代理模式? 因为这就是Spring Aop的底层 代理模式的分类: 静态代理 动态代理 静态代理 生活用的例子: 房东 public ...

  7. 一箭双雕 刷完阿里P8架构师spring学习笔记+源码剖析,涨薪8K

    关于Spring的叙述: 我之前死磕spring的时候,刷各种资料看的我是一头雾水的,后面从阿里的P8架构师那里拿到这两份资料,从源码到案例详细的讲述了spring的各个细节,是我学Spring的启蒙 ...

  8. CHY的Spring学习笔记---师从动力节点王鹤老师(B站白嫖)

    Spring学习笔记 核心技术:ioc和aop ioc:使用di(依赖注入)实现控制反转,底层使用的是反射机制 spring可以创建自己写的类的对象,也可以创建非自定义对象,只要知道类的全限定名即可. ...

  9. 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

    作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...

最新文章

  1. python中进制_python中进制的算法
  2. Screen返回选择界面的问题
  3. 小心使用innerHTML
  4. 业务专题篇:用户使用路径分析
  5. python入门知识大全_python基础知识有哪些
  6. 绘制三维散点图_SPSS统计作图教程:三维散点图
  7. Bound Found POJ - 2566(尺取法+前缀和创造区间变化趋势)
  8. oracle中间键配置,Oracle Exalogic中间件云服务器简介及产品配置特点(2)
  9. 移动发布手机病毒警示信息 发现六种新型病毒
  10. MEncoder的基础用法—6.3. 编码为双通道MPEG-4 (DivX)
  11. 数据挖掘原理与算法_【干货】UIUC韩家炜老师2020年新课:CS512 数据挖掘:原理与算法,附PPT...
  12. 电脑蓝屏分析教程,附工具WinDbg(x86 x64)6.12.0002.633下载
  13. 常用汉字库(约7千个)
  14. 数学表达式: 从恐惧到单挑 (7. min 与 argmin)
  15. 嵌入式linux模块复位,嵌入式linux下复位声卡驱动
  16. VC 蓝牙设备 编程
  17. hdu6105(博弈)
  18. 异构计算(Heterogeneous Compute)
  19. 带团队,不要轻易放弃任何一个队友
  20. 支持爱普生r330的打印服务器,软件让照片打印更专业_爱普生 R330_办公打印评测试用-中关村在线...

热门文章

  1. Nginx+DNS负载均衡实现
  2. Hadoop实战(3)_虚拟机搭建CDH的全分布模式
  3. CSS 之怀疑自己的审美 1 (Day49)
  4. ubuntu下创建c语言程序之hello world
  5. asp.net生产环境和开发环境的错误日志包装策略
  6. 深度剖析WinPcap之(四)——WinPcap的体系架构(2)
  7. 十二则技巧让Excel操作效率提高
  8. cisco2950 查看端口流量
  9. 下午去公司无聊了一下午
  10. LeetCode算法题-Detect Capital(Java实现)