Spring中hibernateTemplate的使用

  1. <?xml version\="1.0" encoding\="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"

  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

  4. xmlns:aop="http://www.springframework.org/schema/aop"

  5. xmlns:tx="http://www.springframework.org/schema/tx"

  6. xsi:schemaLocation="http://www.springframework.org/schema/beans

  7. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

  8. http://www.springframework.org/schema/context

  9. http://www.springframework.org/schema/context/spring-context-2.5.xsd

  10. http://www.springframework.org/schema/tx

  11. http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

  12. http://www.springframework.org/schema/aop

  13. http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"\>

  14. <context:annotation-config />

  15. <!-- 配置容器资源扫描的包 -->
  16. <context:component-scan base-package="com.spring" />

  17. <!-- 将前面类写入容器 -->
  18. <bean id="logInterceptor" class="com.spring.aop.LogInterceptor" />

  19. <!--
  20. 配置数据源 <bean id="myDataSource"

  21. class="org.apache.commons.dbcp.BasicDataSource"

  22. destroy-method="close"> <property name="driverClassName"

  23. value="com.mysql.jdbc.Driver"/> <property name="url"

  24. value="jdbc:mysql://localhost:3306/sms"/> <property name="username"

  25. value="root"/> <property name="password" value="root"/> </bean>

  26. -->

  27. <!-- placeholder 占位符 -->
  28. <bean

  29. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

  30. <property name="locations">

  31. <value>classpath:jdbc.properties</value>

  32. </property>

  33. </bean>

  34. <!-- 配置dataSource -->
  35. <bean id="dataSource" destroy-method="close"

  36. class="org.apache.commons.dbcp.BasicDataSource">

  37. <property name="driverClassName" value="${jdbc.driverClassName}" />

  38. <property name="url" value="${jdbc.url}" />

  39. <property name="username" value="${jdbc.username}" />

  40. <property name="password" value="${jdbc.password}" />

  41. </bean>

  42. <!-- 将配置好的dataSource注入到SessionFactory中-->
  43. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  44. <property name="dataSource" ref="dataSource"/>

  45. <property name="mappingResources">

  46. <list>

  47. <value>com/spring/model/user.hbm.xml</value>

  48. <value>com/spring/model/userlog.hbm.xml</value>

  49. </list>

  50. </property>

  51. <property name="hibernateProperties">

  52. <value>

  53. hibernate.dialect=org.hibernate.dialect.MySQLDialect

  54. hibernate.show_sql=true

  55. hibernate.hbm2ddl.auto=create

  56. </value>

  57. </property>

  58. </bean>

  59. <!-- 声明式事务管理,事务需要数据源,从sessionFactory中拿到
  60. 这是一个AOP的应用 -->

  61. <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

  62. <property name="sessionFactory" ref="sessionFactory" />

  63. </bean>

  64. <!-- 配置事务要管理的方法 -->
  65. <tx:advice transaction-manager="transactionManager" id="txManager">

  66. tx:attributes\

  67. <tx:method name="save"/>

  68. </tx:attributes>

  69. </tx:advice>

  70. <!-- 配置aop设置切面和织入点逻辑 -->
  71. aop:config\

  72. <aop:pointcut id="entryPointMethod" expression="execution(public * com.spring.service..*.*(..))"/>

  73. <aop:advisor

  74. advice-ref="txManager"

  75. pointcut-ref="entryPointMethod"

  76. />

  77. </aop:config>

  78. <!-- 配置一个hibernateTemplate -->
  79. <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

  80. <property name="sessionFactory" ref="sessionFactory"></property>

  81. </bean>

  82. </beans>

2、使用@resource 注入,然后调用save方法:

[java] view plain copy

  1. @Component("userDaoImpl")

  2. public class UserDaoImpl implements UserDao{

  3. @Resource

  4. private HibernateTemplate hibernateTemplate;

  5. public HibernateTemplate getHibernateTemplate() {

  6. return hibernateTemplate;

  7. }

  8. public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {

  9. this.hibernateTemplate = hibernateTemplate;

  10. }

  11. @Override

  12. public void save(User u) {

  13. try {

  14. hibernateTemplate.save(u);

  15. } catch (HibernateException e) {

  16. e.printStackTrace();

  17. }

  18. }

  19. }

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Spring中hibernateTemplate的使用 - HelloWorld