ssm整合之Spring整合MyBatis框架配置事务的详细教程

ssm整合之Spring整合MyBatis框架配置事务

1.在applicationContext.xml修改代码如下:

<?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:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop.xsd
	http://www.springframework.org/schema/tx
	http://www.springframework.org/schema/tx/spring-tx.xsd">
  <!--开启注解的扫描,希望处理service和dao,controller不需要Spring框架去处理-->
  <context:component-scan base-package="com.txw">
    <!--配置哪些注解不扫描-->
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  </context:component-scan>
  <!--Spring整合MyBatis框架-->
  <!--配置连接池-->
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql:///ssm"/>
    <property name="user" value="root"/>
    <property name="password" value="123456"/>
  </bean>
  <!--配置SqlSessionFactory工厂-->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
  </bean>
  <!--配置AccountDao接口所在包-->
  <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.txw.dao"/>
  </bean>
  <!--配置Spring框架声明式事务管理-->
  <!--配置事务管理器-->
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
  </bean>
  <!--配置事务通知-->
  <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
      <tx:method name="find*" read-only="true"/>
      <tx:method name="*" isolation="DEFAULT"/>
    </tx:attributes>
  </tx:advice>
  <!--配置AOP增强-->
  <aop:config>
    <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.txw.service.impl.*ServiceImpl.*(..))"/>
  </aop:config>
</beans>

2.修改index.jsp的代码如下:

<%--
 Created by IntelliJ IDEA.
 User: Adair
 Date: 2020/7/8 0008
 Time: 14:26
 To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>首页</title>
</head>
<body>
  <a href="account/findAll" rel="external nofollow" >测试查询</a>
  <h3>测试保存</h3>
  <form action="account/save" method="post">
     姓名:<input type="text" name="name" /><br/>
     金额:<input type="text" name="money" /><br/>
     <input type="submit" value="保存"/><br/>
  </form>
</body>
</html>

3.修改帐户的控制类的代码如下:

package com.txw.controller;

import com.txw.domain.Account;
import com.txw.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 *帐户的控制类
 * @author Adair
 */
@Controller
@RequestMapping(path = "/account")
@SuppressWarnings("all")   // 注解警告信息
public class AccountController {
  @Autowired // 自动类型注入
  private AccountService accountService;
  @RequestMapping(value = "/findAll")
  public String findAll(Model model){
    System.out.println("表现层:查询所有账户...");
    // 调用findAll()方法
    List<Account> list = accountService.findAll();
    // 进行存储
    model.addAttribute("list",list);
    return "list";
  }
  /**
   * 保存
   * @return
   */
  @RequestMapping("/save")
  public void save(Account account, HttpServletRequest request, HttpServletResponse response) throws Exception {
    accountService.saveAccount(account);
    response.sendRedirect(request.getContextPath()+"/account/findAll");
    return;
  }
}

4.重新部署项目,运行如图所示:

5.通过浏览器访问http://localhost:8080/如图所示:

6.填写姓名和金额如图所示:

7.点击保存会跳转到如图所示的界面:

8.控制台打印结果如图所示:

到此这篇关于ssm整合之Spring整合MyBatis框架配置事务的文章就介绍到这了,更多相关Spring整合MyBatis配置事务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringMVC+MyBatis声明式事务管理

    采用的基本搭建环境:SpringMVC.MyBatis.MySQL.tomcat Spring事务管理分解了传统的全局事务管理和本地事务管理的劣势,使得在任何环境中都可以使用统一的事务管理模型,你可以写一次代码,然后在不同的环境从你的代码里面配置不同的事务管理策略,Spring提供两种事务管理策略:一种是声明式事务管理策略,另一种是编程式事务管理策略,这里主要介绍声明式事务管理策略 由于采用的是SpringMVC. MyBatis,故统一采用了标注来声明Service.Controller 由于

  • SpringMVC之简单的增删改查示例(SSM整合)

    虽然已经在做关于SpringMVC的项目.但是还没有写一些比较系统的博客.今天就先来说一说最简单的增删改查吧.这个例子是基于SpringMVC+Spring+Mybatis实现的. 环境配置 主要是几项配置:springmvc的配置,spring的配置,MyBatis的配置,jdbc的配置,和web.xml配置 springmvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu

  • SpringMVC与Mybatis集合实现调用存储过程、事务控制实例

    在SSM框架中经常会用到调用数据库中的存储过程.以及事务控制,下面以保存某单据为例,介绍一下: 1.Oracle中存储过程代码如下(主要逻辑将单据编码自动加1,并将该单据编码返回): CREATE OR REPLACE PROCEDURE "UPDATE_DJBHZT" (p_GSID in varchar2, p_TBLNAME in varchar2, NewRecNo out Number) as begin update BHDJ set BHDJ02 = BHDJ02+1 w

  • mybatis开启spring事务代码解析

    1.事务 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的.最终都是调用数据库连接来完成事务的开启.提交和回滚. 2.模块 那么在对于spring事务而言,几个不可或缺的模块就是数据源.事务管理器以及事务编程 3.xml配置 <!--事务管理器--> <bean id="springTransactionManager" class="org.springframework.jdbc.datasourc

  • SpringMVC+MyBatis 事务管理(实例)

    前言 spring事务管理包含两种情况,编程式事务.声明式事务.而声明式事务又包括基于注解@Transactional和tx+aop的方式.那么本文先分析编程式注解事务和基于注解的声明式事务. 编程式事务管理使用TransactionTemplate或者PlatformTransactionManager.对于编程式事务spring推荐使用TransactionTemplate. 一.编程式事务 spring事务特性 spring中所有的事务策略类都继承自org.springframework.

  • SSM整合中的Log4j日志的配置详情

    在网上搜索了很多的log的配置方法,当然结果很多,但是没有一个是我想要的.没办法只能自己去试了.只说如何在项目中引入log4j来显示日志的输出.当然配置文件是少不了的. 配置 log4j.properties 在SSM整合的项目中会有文件夹src/main/resources 所有的资源型文件都要放在这个resource下面(个人习惯,也可以放在其让地方) ### Log4j配置 ### ### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ### #定义log4j的输出

  • ssm整合之Spring整合MyBatis框架配置事务的详细教程

    ssm整合之Spring整合MyBatis框架配置事务 1.在applicationContext.xml修改代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

  • spring+springmvc+mybatis+maven入门实战(超详细教程)

    入门篇 本篇文章涉及到的技术有spring.springmvc.mybatis.mysql.xml.maven.jsp.javase.javaweb.eclipse 下面开始本篇文章的教程 一.新建maven项目 一般通过这种方法新建maven项目 假如你的eclipse不能通过上面的方法新建maven项目,也可以通过下面的方法新建maven项目 看到下面的项目结构,说明你已经成功创建了一个maven项目.但是这个项目报错,根据标准的web项目结构来说,目前这个项目缺少了web.xml 利用ec

  • SSM框架整合之Spring+SpringMVC+MyBatis实践步骤

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spr

  • 使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文)

    (项目结构图参照文章末尾) 1.创建maven工程,在pom.xml文件中导入需要的jar包依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach

  • Spring集成MyBatis框架

    Java在写数据库查询时,我接触过四种方式: 1.纯Java代码,引用对应的数据库驱动包,自己写连接与释放逻辑(可以用连接池) 这种模式实际上性能是非常不错的,但是使用起来并不是非常方便:一是要手工为Connection做获取与释放,大量的冗余代码也容易出错:另一个是,复杂的SQL用字符串写起来简直不可维护(换行.可视长度.参数都是问题). 2.使用Spring JdbcTemplate 这个其实还是挺不错的,配置比较简单,功能丰富上比手工管理Connection要舒服多了,而且代码也比较简洁.

  • java mybatis框架配置详解

    一个框架的使用,必然离不开其中的组件支持.我们在下载完mybatis框架后,因为大部分的内部结构还没有启动,就要手动的对其进行配置.在之前有提到,mybatis框架的作用就有数据库方面的,所以本篇文章带来了数据库和sql方面的配置方法,大家一起往下面看看具体操作. 1.配置数据库 创建mybatis的配置文件,配置数据库的信息.数据库我们可以配置多个,但是默认的只能用一个. <?xml version="1.0" encoding="UTF-8"?> &

  • Mybatis Generator逆向工程的使用详细教程

    一.MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码.它将审查数据库表(或许多表),并将生成可用于访问表的构件.这减少了设置对象和配置文件以与数据库表交互的初始麻烦.MBG寻求对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响.您仍然需要为连接查询或存储过程手动编写SQL和对象代码.MyBatis Generator将生

  • IDEA2020.1.2创建web项目配置Tomcat的详细教程

    本文章是一篇IDEA创建web项目配置Tomcat的整合文章,并非原创,原文链接 https://blog.csdn.net/qq_45738810/article/details/107842532 https://www.cnblogs.com/shindo/p/7272646.html 作为初学者,先看了第一个链接里大佬的文章又看其他的文章表示很懵,为了避免各位和我一样,所以在此整合一下,希望能帮到各位! 第一步,先创建一个普通的Java项目 第二步,创建web项目.右键项目名–>Add

  • mysql 5.7.14 下载安装、配置与使用详细教程

     下载 a.我这里用的是 ZIP Archive版的,win8 64位的机器都支持 这个所以我建议都用这个.还有这个比较简单而且还很干净.地址见图.拖到最下面,看清楚了64bit ZIP Archive,点击Download. b.点开之后会进入另一个页面,但却没有下载,这个时候不用怕,看不懂也没关系,他的意思就是让你登录(login),或者注册个账号(sign up)就行了,登录或者注册成功后就开始下载了.(记住密码要字母和数字组合,并且要大小写混合) c.当然如果你有的话也可以直接登录. 成

  • centos 安装python3.6环境并配置虚拟环境的详细教程

    python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux 下python 环境配置 统一目录: 源码存放位置 $HOME/tools 安装目录: /application 安装python 环境: 1.  下载 # 创建下载目录 mkdir $HOME/tools # 切换到tools统一管理源码目录 cd $HOME/tools wget https://www.python.org/ftp/py

随机推荐