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.xml和mapper接口的名稱保持一致且放在一個目錄則不用在sqlMapConfig.xml中進行配置
