19.mapper代理开发

将UserMapper.java和UserMapper.xml放在同一个目录下,是为了mapper的批量扫描

1.mapper.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必须和UserMapper.java类地址相同
<mapper namespace="com.chinglee.ssm.mapper.UserMapper">
    <select id="findUserByIdMapper" parameterType="int" resultType="com.chinglee.ssm.po.User">
        SELECT * FROM USER WHERE id=#{value}
    </select>
</mapper>

2.UserMapper.java

package com.chinglee.ssm.mapper;

import com.chinglee.ssm.po.User;

/**
 * Created by Administrator on 2017/11/2 0002.
 */
public interface UserMapper {
    public User findUserByIdMapper(int id) throws Exception;
}

3.SqlMapConfig.xml配置批量加载mapper

  <!--批量加载mapper
           指定mapper接口的包名,mybatis自动扫描包下面所有mapper接口进行加载
           遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中
         前提:使用mapper代理的方法
        -->
        <package name="com.chinglee.ssm.mapper"/>

4.applicationContext.xml中实现mapper的sqlSessionFactory的批量注入。

<!-- mapper批量扫描,从mapper包中扫描出mapper接口,自动创建代理对象并且在spring容器中注册
    遵循规范:将mapper.java和mapper.xml映射文件名称保持一致,且在一个目录中
    自动扫描出来的mapper的bean的id为mapper类名(首字母小写)
    -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 指定扫描的包名,如果扫描多个包,每个包中间使用半角逗号分隔-->
        <property name="basePackage" value="com.chinglee.ssm.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>

5.测试

创建UserMapperTest类
package com.chinglee.ssm.mapper;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by Administrator on 2017/11/2 0002.
 */
public class UserMapperTest {
    private ApplicationContext applicationContext;
    @Before
    public void setUp() throws Exception {
       applicationContext=new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");

    }

    @Test
    public void findUserByIdMapper() throws Exception {
        UserMapper userMapper= (UserMapper) applicationContext.getBean("userMapper");
        userMapper.findUserByIdMapper(1);

    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,232评论 6 342
  • 单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用sp...
    七寸知架构阅读 3,578评论 0 53
  • Spring 技术笔记Day 1 预热知识一、 基本术语Blob类型,二进制对象Object Graph:对象图...
    OchardBird阅读 1,067评论 0 2
  • “红心树”实乃无花果树,属2016届毕业生“王宏鑫”名之谐音,其母家委会成员是也,自家园中生长,因有余木,母...
    悠悠悦耳阅读 2,811评论 0 1
  • 南方有梅雨季,北方不如此。只是到了夏季,似乎会有那么几场暴雨。这不从昨起,北京断断续续降下了大雨。 不容易啊,下场...
    化浊阅读 373评论 1 1

友情链接更多精彩内容