05(maven+SSH)之spring mybatis整合

1.配置POM.xml文件 ,配置项目所需jar
2.配置WEB.xml:

    配置spring监听器

1
2
3
4
5
6
7
8
     < context-param >
         < param-name >contextConfigLocation</ param-name >
         < param-value >classpath:application-context.xml</ param-value >
     </ context-param >
     
     < listener >
         < listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class >
     </ listener >

3.创建anotation.xml配置文件
    <!-- spring扫描 @service -->
    

1
2
3
4
5
< context:component-scan  base-package = "cn.liu" >
         < context:exclude-filter  type = "annotation"  expression = "org.springframework.stereotype.Controller" />
     </ context:component-scan >
     
     < context:annotation-config />

4. 创建jdbc.properties和jdbc.xml,并配置:
 

1
2
3
4
5
6
7
8
9
10
11
12
    driverClass=com.mysql.jdbc.Driver
     jdbcUrl=jdbc:mysql://localhost:3306/shop?characterEncoding=UTF-8
     user=root
     password=
     
     <!-- c3p0-->
     < bean  id = "dataSource"  class = "com.mchange.v2.c3p0.ComboPooledDataSource" >
         < property  name = "driverClass"  value = "${driverClass}" />
         < property  name = "jdbcUrl"  value = "${jdbcUrl}" ></ property >
         < property  name = "user"  value = "${user}"  />
         < property  name = "password"  value = "${password}" />
     </ bean >

5.配置property.xml文件,读取JDBC配置
 

1
2
3
4
5
6
7
8
    < bean  class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
         < property  name = "locations" >
             < list >
                 <!-- JDBC的配置 -->
                 < value >classpath:properties/jdbc.properties</ value >
             </ list >
         </ property >
      </ bean >

6.配置mybatis.xml文件

1
2
3
4
5
6
7
8
9
10
11
     <!-- mybatis org.mybatis.spring.SqlSessionFactoryBean 配置 -->
     < bean  id = "sqlSessionFactory"  class = "org.mybatis.spring.SqlSessionFactoryBean" >
         < property  name = "dataSource"  ref = "dataSource" />
         < property  name = "mapperLocations"  value = "classpath:cn/liu/croe/dao/*.xml" />
         < property  name = "typeAliasesPackage"  value = "cn.liu.croe.bean" ></ property >
     </ bean >
     
     <!-- 扫包 -->
     < bean  class = "org.mybatis.spring.mapper.MapperScannerConfigurer" >
         < property  name = "basePackage"  value = "cn.liu.croe.dao" />
     </ bean >

7.事务管理transation.xml:    

1
2
3
4
5
6
7
     <!-- spring 事务 -->
     < bean  id = "transactionManager"  class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" >
         < property  name = "dataSource"  ref = "dataSource" />
     </ bean >
     
     <!-- 开启事务注解 -->
     < tx:annotation-driven  transaction-manager = "transactionManager" />

8.UserInfoDAO.xml

1
2
3
4
5
6
7
8
9
10
<? xml  version = "1.0"  encoding = "UTF-8"  ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
< mapper  namespace = "cn.liu.croe.dao.UserInfoDAO" >
     
     < insert  id = "add"  parameterType = "UserInfo" >
         insert into user_info (user_name,user_sex)
         values(#{userName},#{userSex})
     </ insert >
     
</ mapper >

9.事务管理注释:@Transactional



import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import cn.liu.croe.bean.UserInfo;
import cn.liu.croe.dao.UserInfoDAO;
import cn.liu.croe.service.IUserInfoService;

@Service
@Transactional
public class UserInfoServiceImpl implements IUserInfoService {

    @Autowired
    private UserInfoDAO userdao;
    
    public void addUser(UserInfo user) {
        
        int i = userdao.add(user);
        System.out.println(i);
        
        throw new RuntimeException("运行时异常");
        
    }

}


10.测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package  cn.shop.userinfo;
import  org.junit.Test;
import  org.junit.runner.RunWith;
import  org.springframework.beans.factory.annotation.Autowired;
import  org.springframework.test.context.ContextConfiguration;
import  org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import  cn.liu.croe.bean.UserInfo;
import  cn.liu.croe.service.IUserInfoService;
 
@RunWith (SpringJUnit4ClassRunner. class )
@ContextConfiguration (locations =  "classpath:application-context.xml" )
public  class  UserTest {
     @Autowired
     private  IUserInfoService service;
     @Test
     public  void  testAdd() {
         UserInfo user =  new  UserInfo();
         user.setUserName( "秋香" );
         user.setUserSex( "女" );
         service.addUser(user);
     }
}









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值