ssm整合之Spring整合MyBatis框架配置事務(wù)的詳細(xì)教程
ssm整合之Spring整合MyBatis框架配置事務(wù)
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框架聲明式事務(wù)管理-->
<!--配置事務(wù)管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--配置事務(wù)通知-->
<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增強(qiáng)-->
<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>首頁(yè)</title>
</head>
<body>
<a href="account/findAll" rel="external nofollow" >測(cè)試查詢</a>
<h3>測(cè)試保存</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 // 自動(dòng)類型注入
private AccountService accountService;
@RequestMapping(value = "/findAll")
public String findAll(Model model){
System.out.println("表現(xiàn)層:查詢所有賬戶...");
// 調(diào)用findAll()方法
List<Account> list = accountService.findAll();
// 進(jìn)行存儲(chǔ)
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.重新部署項(xiàng)目,運(yùn)行如圖所示:

5.通過瀏覽器訪問http://localhost:8080/如圖所示:

6.填寫姓名和金額如圖所示:

7.點(diǎn)擊保存會(huì)跳轉(zhuǎn)到如圖所示的界面:

8.控制臺(tái)打印結(jié)果如圖所示:

到此這篇關(guān)于ssm整合之Spring整合MyBatis框架配置事務(wù)的文章就介紹到這了,更多相關(guān)Spring整合MyBatis配置事務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
@CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式
這篇文章主要介紹了@CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Java ByteBuffer網(wǎng)絡(luò)編程用法實(shí)例解析
這篇文章主要介紹了Java ByteBuffer網(wǎng)絡(luò)編程用法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
詳解springcloud之服務(wù)注冊(cè)與發(fā)現(xiàn)
本次分享的是關(guān)于springcloud服務(wù)注冊(cè)與發(fā)現(xiàn)的內(nèi)容,將通過分別搭建服務(wù)中心,服務(wù)注冊(cè),服務(wù)發(fā)現(xiàn)來說明,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-06-06
新手入門學(xué)習(xí)Spring Freemarker教程解析
這篇文章主要介紹了新手入門學(xué)習(xí)Freemarker教程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java數(shù)組使用binarySearch()方法查找指定元素的實(shí)現(xiàn)
這篇文章主要介紹了Java數(shù)組使用binarySearch()方法查找指定元素的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Spring?Data?JPA框架的Repository自定義實(shí)現(xiàn)詳解
Spring?Data?JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套?JPA?應(yīng)?框架,可使開發(fā)者?極簡(jiǎn)的代碼即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問和操作,本篇我們來了解Spring?Data?JPA框架的Repository自定義實(shí)現(xiàn)2022-04-04

