关于spring+springMVC+myBatis的一些基础配置以及整合

不说了多了   直接上代码  首先是从程序的入口开始说:

 web.xml

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<? xml version = "1.0" encoding = "UTF-8" ?>
< web-app version = "2.4"
xmlns = "http://java.sun.com/xml/ns/j2ee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   < welcome-file-list >
     < welcome-file >index.jsp</ welcome-file >
   </ welcome-file-list >
   
   <!--
   设置session过期的时间
   -->
   < session-config >
   < session-timeout >20</ session-timeout >
   </ session-config >
   
   <!--
   读取spring的配置文件
   -->
  < context-param >
   < param-name >contextConfigLocation</ param-name >
   < param-value >classpath:config/spring.xml;classpath:config/spring-myBatis.xml</ param-value >
   </ context-param >
   
   < listener >
   < listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class >
   </ listener >
   
    < listener >
     < listener-class >org.springframework.web.util.IntrospectorCleanupListener</ listener-class >
   </ listener >
   
<!--
   设置字符编码,将所有的字符编码同意设置为utf-8
   -->
   < filter >
   < filter-name >filterEncoding</ filter-name >
   < filter-class >org.springframework.web.filter.CharacterEncodingFilter</ filter-class >
   < init-param >
   < param-name >encoding</ param-name >
   < param-value >utf-8</ param-value >
   </ init-param >
   </ filter >
   
   < filter-mapping >
   < filter-name >filterEncoding</ filter-name >
   < url-pattern >/</ url-pattern >
   </ filter-mapping >
   
   <!--
   生成一次性验证码的servlet
   -->
   < servlet >
   < servlet-name >verifyCode</ servlet-name >
   < servlet-class >com.longhang.tool.verifyCode.VerifyCodeServlet</ servlet-class >
   </ servlet >
   
   <!--
   将所有*.do的请求交给springMVC的DispatcherServlet来处理
   -->
   < servlet >
   < servlet-name >DispatcherServlet</ servlet-name >
   < servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class >
   < init-param >
   < param-name >contextConfigLocation</ param-name >
   < param-value >classpath:config/springMVC-config.xml</ param-value >
   </ init-param >
   < load-on-startup >1</ load-on-startup >
   </ servlet >
   
   < servlet-mapping >
   < servlet-name >verifyCode</ servlet-name >
   < url-pattern >/verifyCode</ url-pattern >
   </ servlet-mapping >
   
   < servlet-mapping >
   < servlet-name >DispatcherServlet</ servlet-name >
   < url-pattern >*.do</ url-pattern >
   </ servlet-mapping >
</ web-app >

springMVC的配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<? 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:p = "http://www.springframework.org/schema/p"    
 
 
         xmlns:context = "http://www.springframework.org/schema/context"    
 
 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
 
 
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
 
 
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
 
 
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
 
  <!--
   配置自动扫描的包,让其扫描    com.longhang,controller下面的所有包
  -->
   
   < context:component-scan base-package "com.longhang.controller" ></ context:component-scan >
   
  <!-- 
   配置视图解析器
   将视图逻辑名解析为/*.jsp
  -->
   < bean class "org.springframework.web.servlet.view.InternalResourceViewResolver" >
   < property name "prefix" value "/" ></ property >
   < property name "suffix" value ".jsp" ></ property >
   </ bean >
   </ beans >

spring.xml的配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<? 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" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
< context:property-placeholder location = "classpath:config/druid.properties" />
<!-- 自动扫描(自动注入) -->
< context:component-scan base-package "com.longhang.service" ></ context:component-scan >
 
 
</ beans >


spring-myBatis.xml配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<? 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:tx = "http://www.springframework.org/schema/tx" xmlns:aop = "http://www.springframework.org/schema/aop" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">
     <!-- 配置数据源 --> <!--
     <bean name = "datasource" class = "com.alibaba.druid.pool.DruidDataSource" init-method = "init" destroy-method = "close">
     <property name ="url" value = "${jdbc_url}"></property>
     <property name="username" value="${jdbc_userName}" />
  <property name="password" value="${jdbc_password}" />
     </bean>
     
      --> < bean name "datasource" class "com.alibaba.druid.pool.DruidDataSource" init-method "init" destroy-method "close" >
     < property name = "url" value "jdbc:mysql://localhost:8000/bookShopping" ></ property >
     < property name = "username" value = "root" />
  < property name = "password" value = "13072399672" />
      </ bean >
     
     <!--配置sqlSessionFactory 并读取mybatis的一些配置-->
     < bean name "sqlSessionFactory" class "org.mybatis.spring.SqlSessionFactoryBean" >
     < property name "dataSource" ref "datasource" ></ property >
     < property name = "mapperLocations" value = "classpath:mapper/*.xml" />
     </ bean >
     
     <!--
     自动扫描 将Mapper接口生成代理注入到Spring
     -->
     < bean class = "org.mybatis.spring.mapper.MapperScannerConfigurer" >
< property name = "basePackage" value = "com.longhang.dao" />
< property name = "sqlSessionFactoryBeanName" value = "sqlSessionFactory" />
</ bean >
     
     <!--
     配置事物
     -->
    < bean id "transactionManager" class "org.springframework.jdbc.datasource.DataSourceTransactionManager" >
     < property name "dataSource" ref "datasource" ></ property >
     </ bean >
     
     <!--
     <tx:annotation-driven transaction-manager = "transactionManager"/>
     -->
   
    <!--
     事物的具体内容
    -->
< tx:advice id = "transactionAdvice" transaction-manager = "transactionManager" >
< tx:attributes >
< tx:method name = "add*" propagation = "REQUIRED" />
< tx:method name = "append*" propagation = "REQUIRED" />
< tx:method name = "insert*" propagation = "REQUIRED" />
< tx:method name = "save*" propagation = "REQUIRED" />
< tx:method name = "update*" propagation = "REQUIRED" />
< tx:method name = "modify*" propagation = "REQUIRED" />
< tx:method name = "edit*" propagation = "REQUIRED" />
< tx:method name = "delete*" propagation = "REQUIRED" />
< tx:method name = "remove*" propagation = "REQUIRED" />
< tx:method name = "repair" propagation = "REQUIRED" />
< tx:method name = "delAndRepair" propagation = "REQUIRED" />
 
 
< tx:method name = "get*" propagation = "SUPPORTS" />
< tx:method name = "find*" propagation = "SUPPORTS" />
< tx:method name = "load*" propagation = "SUPPORTS" />
< tx:method name = "search*" propagation = "SUPPORTS" />
< tx:method name = "datagrid*" propagation = "SUPPORTS" />
 
 
< tx:method name = "*" propagation = "SUPPORTS" />
</ tx:attributes >
</ tx:advice >
 
<!--
     定义一个切面,在定义的切面上加入事物
    -->
     < aop:config >
< aop:pointcut id = "transactionPointcut" expression = "execution(* com.longhang.service..*Impl.*(..))" />
< aop:advisor pointcut-ref = "transactionPointcut" advice-ref = "transactionAdvice" />
</ aop:config >
 
</ beans >

关于mybatis的映射文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<? 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 = "com.longhang.dao.userDao.UserDao" >
   < resultMap id "baseResultMap" type "com.longhang.entity.user.User" >
   < id column "uid" property "uid" jdbcType "CHAR" />
   < result column "loginname" property "loginname" jdbcType "VARCHAR" />
   < result column "loginpass" property "loginpass" jdbcType "VARCHAR" />
   < result column "email" property "email" jdbcType "VARCHAR" />
   < result column "status" property "status" jdbcType "VARCHAR" />
   < result column "activationCode" property "activationCode" jdbcType "CHAR" />
   </ resultMap >
   
   
   < sql id "base_column_list" >
   uid,loginname,loginpass,email,status,activationCode
   </ sql >
  
   <!--根据id查询
    返回的类型为User
   -->
   < select id = "findById" resultMap = "baseResultMap" parameterType = "java.lang.String" >
     select
     < include refid = "base_column_list" />
     from l_user
     where uid = #{uid,jdbcType=CHAR}
   </ select >
   
   <!--
   根据activationCode查询
   返回值是User
   -->
   
   < select id "findByActivationCode" resultMap "baseResultMap" parameterType "java.lang.String" >
   select < include refid "base_column_list" />
   from l_user
   where activationCode = #{activationCode}
   </ select >
   
   <!--
   根据loginname查看总条数
   -->
   < select id "countNumberByLoginName" resultType "int" parameterType = "java.lang.String" >
   select count(*) from l_user where loginname = #{loginname}
   </ select >
   
   <!--
   根据email查看总条数
    -->
    < select id "countNumberByEmail" resultType "int" parameterType "java.lang.String" >
     select count(*) from l_user where email = #{email}
    </ select >
    
    <!--
    
    -->
    < select id "isActivation" resultType "int" parameterType "java.lang.String" >
    select count(*) from l_user where activationCode = #{activationCode}
    </ select >
 
 
   < delete id "deleteById" parameterType "java.lang.String" >
   delete from l_user
   where uid = #{uid,jdbcType=CHAR}
   </ delete >
   
   
< insert id "addUser" parameterType "com.longhang.entity.user.User" >
   insert into l_user(uid,loginname,loginpass,email,status,activationCode)
   values(#{uid},#{loginname},#{loginpass},#{email},#{status},#{activationCode})
  </ insert >
     <!--
   <insert id="insertSelective" parameterType="com.bky.model.Add" >
     insert into tadd
     <trim prefix="(" suffix=")" suffixOverrides="," >
       <if test="id != null" >
         id,
       </if>
       <if test="tname != null" >
         tname,
       </if>
       <if test="tpwd != null" >
         tpwd,
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="id != null" >
         #{id,jdbcType=VARCHAR},
       </if>
       <if test="tname != null" >
         #{tname,jdbcType=VARCHAR},
       </if>
       <if test="tpwd != null" >
         #{tpwd,jdbcType=VARCHAR},
       </if>
     </trim>
   </insert>-->
   <!--
   <update id="updateByPrimaryKeySelective" parameterType="com.bky.model.Add" >
     update tadd
     <set >
       <if test="tname != null" >
         tname = #{tname,jdbcType=VARCHAR},
       </if>
       <if test="tpwd != null" >
         tpwd = #{tpwd,jdbcType=VARCHAR},
       </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
   </update>-->
 
 
   < update id "updateById" parameterType = "com.longhang.entity.user.User" >
   update l_user
   set uid = #{uid},
      loginname = #{loginname},
      loginpass = #{loginpass},
      email = #{email},
      status = #{status},
      activationCode = #{activationCode}
      where uid = #{uid}
   </ update >
   
   < update id = "updatePropByID" >
update  l_user set
< foreach collection = "prop" item = "item" index = "index" separator = "," >
           ${item.key} = #{item.value}
         </ foreach >
         < where >
         uid = #{uid}
         </ where >
</ update >
 
< update id = "updatePropByCondition" >
<![CDATA[ 
update  l_user set
]]>
< foreach collection = "prop" item = "item" index = "index" separator = "," >
           ${item.key} = #{item.value}
         </ foreach >
         < where >
         < if test = "condition != null" >
         ${condition}
         </ if >
         </ where >
</ update >
   
   < select id = "getAll" resultMap = "baseResultMap" >
   SELECT * FROM uid
   </ select >
</ mapper >

接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.longhang.dao.userDao;
 
 
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
 
 
import org.apache.ibatis.annotations.Param;
 
 
import com.longhang.entity.user.User;
 
 
public interface UserDao {
public User findById(String uid);
public int deleteById(String uid);
public int addUser(User user);
public int updateById(String uid);
public List<User> getAll();
  
public int countNumberByLoginName(String loginname);
public int countNumberByEmail(String email);
public int isActivation(String activationCode);
public User findByActivationCode(String activationCode);
  
public int updatePropByID( @Param ( "prop" )Set<Entry<String, Object>> prop, @Param ( "uid" )String id);
public int updatePropByCondition( @Param ( "prop" )Set<Entry<String,Object>> prop, @Param ( "condition" )String condition);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值