Mybatis與Spring的mapper代理整合方法


 

1、配置環境

2、UserMapper.xml

<?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">

<!-- namespace命名空間,作用就是對sql進行分類化管理,理解sql隔離 
注意:使用mapper代理方法開發,namespace有特殊重要的作用
-->
<mapper namespace="cn.byr.ssm.mapper.UserMapper">

    <!-- 在 映射文件中配置很多sql語句 -->
    <!-- 需求:通過id查詢用戶表的記錄 -->
    <!-- 通過 select執行數據庫查詢
    id:標識 映射文件中的 sql
    將sql語句封裝到mappedStatement對象中,所以將id稱為statement的id
    parameterType:指定輸入 參數的類型,這里指定int型 
    #{}表示一個占位符號
    #{id}:其中的id表示接收輸入 的參數,參數名稱就是id,如果輸入 參數是簡單類型,#{}中的參數名可以任意,可以value或其它名稱
    
    resultType:指定sql輸出結果 的所映射的java對象類型,select指定resultType表示將單條記錄映射成的java對象。
     -->
    <select id="findUserByLoginname" parameterType="String" resultType="cn.byr.ssm.po.User">
        SELECT * FROM t_user WHERE loginname=#{value}
    </select>
    
    
</mapper>

3、UserMapper接口文件

package cn.byr.ssm.mapper;

import cn.byr.ssm.po.User;

public interface UserMapper {
    //根據用戶名查詢用戶信息
    public User findUserByLoginname(String loginname) throws Exception;
}

4、applicationContext.xml文件加入

  <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="cn.byr.ssm.mapper.UserMapper"></property>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

5、測試

 6、改進一下 使用spring的mapper掃描器

    使用mapper掃描器
    此方法即mapper接口開發方法,只需定義mapper接口,不用編寫mapper接口實現類。只需要在spring配置文件中定義一個mapper掃描器,自動掃描包中的mapper接口生成代代理對象。

1、    mapper.xml文件編寫,
2、    定義mapper接口
注意mapper.xml的文件名和mapper的接口名稱保持一致,且放在同一個目錄
3、    配置mapper掃描器
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
 <property name="basePackage" value="mapper接口包地址"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
basePackage:掃描包路徑,中間可以用逗號或分號分隔定義多個包
4、    使用掃描器后從spring容器中獲取mapper的實現對象
       如果將mapper.xml和mapper接口的名稱保持一致且放在一個目錄 則不用在sqlMapConfig.xml中進行配置

 

1.1.1  使用mapper掃描器

         此方法即mapper接口開發方法,只需定義mapper接口,不用編寫mapper接口實現類。只需要在spring配置文件中定義一個mapper掃描器,自動掃描包中的mapper接口生成代代理對象。

 

1、  mapper.xml文件編寫,

 

2、  定義mapper接口

 

注意mapper.xml的文件名和mapper的接口名稱保持一致,且放在同一個目錄

 

3、  配置mapper掃描器

<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">

 <property name="basePackage" value="mapper接口包地址"></property>

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

    </bean>

basePackage:掃描包路徑,中間可以用逗號或分號分隔定義多個包

4、  使用掃描器后從spring容器中獲取mapper的實現對象

 

         如果將mapper.xmlmapper接口的名稱保持一致且放在一個目錄則不用在sqlMapConfig.xml中進行配置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM