Springmvc与mybatis的整合

Springmvc与mybatis的整合
springmvc的三大组件:
  1. 处理器映射器
  2. 处理器适配器
  3. 视图解析器
三层架构:

Dao层:

一、SqlMapConfig.xml,空文件即可。需要文件头。(xml的文件名可以自取)

二、applicationContext-dao.xml。

     1、数据库连接池

    2、SqlSessionFactory对象,需要spring和mybatis整合包下的。

    3、配置mapper文件扫描器。
  • 加载jdbc的配置文件,这里的JDBC文件为db.properties,它存放在src的路径下
<!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则-->

       <context:property-placeholder location="classpath:db.properties"/>

db.properties文件的内容:

jdbc.driver=oracle.jdbc.driver.OracleDriver

jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl

jdbc.username=

jdbc.password=

这里面的value值根据你自己的数据库而定


<!-- 配置数据源,<u>dbcp</u>-->
      
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

              destroy-method="close">

              <property name="driverClassName" value="${jdbc.driver}" />

              <property name="url" value="${jdbc.url}" />

              <property name="username" value="${jdbc.username}" />

              <property name="password" value="${jdbc.password}" />

              <property name="maxActive" value="30" />

              <property name="maxIdle" value="5" />

       </bean>

注意:
        *   maxActive:最大连接数据库连接数,设 0 为没有限制
        *   maxIdle:最大等待连接中的数量,设 0 为没有限制
        连接池中还有一些其他的参数,比如:maxWait : 最大等待毫秒数,超过时间就会出现错误信息
  • 配置SqlSessionFactory对象
<!-- 配置sqlSessionFactory-->

              <bean id="sqlSessionFactory" 
class="org.mybatis.spring.SqlSessionFactoryBean">

              <!--数据库连接池-->

              <property name="dataSource" ref="dataSource"/>

              <!--加载mybatis的全局配置文件-->

              <property name="configLocation" 
value="classpath:mybatis/SqlMapConfig.xml"/>

              <property name="mapperLocations">

            <list>

               <value>classpath*:com/lpn/ssm/mapper/*.xml</value>

            </list>

        </property>

       </bean>

  • 配置mapper文件扫描器
<!-- 配置mapper扫描器-->

       <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

              <!--扫描包路劲,如果要扫描多个包,中间使用半角逗号隔开-->

              <property name="basePackage" value="com.lpn.ssm.Dao"></property>

              <property name="sqlSessionFactoryBeanName" 
value="sqlSessionFactory"/>

       </bean

Service层:

applicationContext-service.xml包扫描器,扫描@service注解的类。

<!-- 组件自动扫描 -->

       <context:component-scan 
base-package="com.lpn.ssm.Service"></context:component-scan>


applicationContext-trans.xml配置事务。

<!-- 配置事务 -->

       <bean id="transactionManager" 
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

              <!-- 数据源applicationContext-dao.xml中配置啦 -->

              <property name="dataSource" ref="dataSource"></property>

       </bean>
<!-- 开启注解事务 -->

       <tx:annotation-driven transaction-manager="transactionManager"/>

       <!-- 通知 -->

       <tx:advice id="txAdvice" transaction-manager="transactionManager">

              <tx:attributes>

                     <!-- 传播行为 -->

                     <tx:method name="save*" propagation="REQUIRED"/>

                     <tx:method name="delete*" propagation="REQUIRED"/>

                     <tx:method name="insert*" propagation="REQUIRED"/>

                     <tx:method name="update*" propagation="REQUIRED"/>

                     <tx:method name="find*" propagation="SUPPORTS"  read-only="true"/>

                     <tx:method name="get*" propagation="SUPPORTS"  read-only="true"/>

                     <tx:method name="select*" propagation="SUPPORTS"  read-only="true"/>

              </tx:attributes>

       </tx:advice>

Controller层:


Springmvc.xml 配置文件
<!-- 配置扫描器 -->

       <context:component-scan 
base-package="com.lpn.ssm"></context:component-scan>

       <!-- 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的,即解决了@Controller注解使用的前提配置。 -->

       <mvc:annotation-driven></mvc:annotation-driven>

       <bean 
class="org.springframework.web.servlet.view.InternalResourceViewResolver">

              <!-- 配置jsp路劲的前缀 -->

              <property name="prefix" value="/view/"></property>

              <!-- 配置<u>jsp</u>路劲的后缀 -->

              <property name="suffix" value=".jsp"></property>

       </bean>
       
       <!-- 注释配置 -->

       <context:annotation-config></context:annotation-config>


Web.xml

配置spring容量监听器

 <!-- 配置context。<u>xml</u>文件 -->

  <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:spring/applicationContext.xml</param-value>

  </context-param>

  <listener>

       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

  </listener>

配置前端控制器

<servlet>

       <servlet-name>springMVC</servlet-name>

       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

       <init-param>

              <param-name>contextConfigLocation</param-name>

              <param-value>classpath:spring/springMVC.xml</param-value>

       </init-param>

       <load-on-startup>1</load-on-startup>

  </servlet>
<!-- 拦截url中有.action的地址,可以改成你自己的,在访问的时候记得加上就行-->
  <servlet-mapping>

       <servlet-name>springMVC</servlet-name>

       <url-pattern>*.action</url-pattern>

  </servlet-mapping>


src 分层:

  1. com.springmvc.po——实体层

  2. com.springmvc.dao——接口层(dao层)

  3. com.springmvc.mappers——接口实现层(这里是mybatis通过映射实现的)

  4. com.springmvc.service——事务层

  5. com.springmvc.service.impl——service实现层

  6. com.springmvc.controller——控制层

所需的jar包:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值