编写配置文件
在applicationContext.xml文件中
<!--Spring整合mybatis框架 start-->
<!--1.配置连接池-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
<!--2.配置工厂对象:SqlSessionFactory-->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--3.配置接口所在的包-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="mapperScanner">
<property name="basePackage" value="xyz.zhouzhousag.dao"></property>
</bean>
<!--Spring整合mybatis框架 end-->
<!--配置Spring框架声明式事务管理 start-->
<!--配置事务管理器-->
<!--DataSourceTransactionManager:mybatis框架用到的事务管理器-->
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
<!--传入连接池对象-->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--配置事务通知-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--以find打头的方法:只读-->
<tx:method name="find*" read-only="true"/>
<!--设置隔离级别-->
<tx:method name="*" isolation="DEFAULT"/>
</tx:attributes>
</tx:advice>
<!--配置AOP增强-->
<aop:config>
<!--引用事务的通知 pointcur:切入点的表达式(修饰符[可省略不写] 返回值 包名.以ServieceImapl结尾的方法.任意参数)-->
<aop:advisor advice-ref="txAdvice" pointcut="execution(* xyz.zhouzhousag.service.impl.*ServiceImpl.*(..))"/>
</aop:config>
<!--配置Spring框架声明式事务管理 end-->
配置完之后可以将SqlMapConfig.xml 删除。
DAO接口
增添注解
@Repository
public interface IAccountDAO {
}
编写测试方法
controller
@Controller
@RequestMapping("/account")
public class AccountController {
@Autowired
private IAccountService accountService;
@RequestMapping("/findAll")
public String findAll(Model model){
System.out.println("表现层:查询所有账户信息");
List<Account> all = accountService.findAll();
model.addAttribute("list",all);
return "list";
}
@RequestMapping("/save")
public String save(Account account){
System.out.println("表现层:保存账户信息");
accountService.saveAccount(account);
return "list";
}
}
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<a href="account/findAll"> 测试 </a>
<form method="post" action="account/save">
姓名:<input type="text" name="name">
金额:<input type="text" name="money">
<input type="submit" value="保存">
</form>
</body>
</html>