• 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中进行配置

     

  • 相关阅读:
    Android混淆代码的方法
    Android开发如何在4.0及以上系统中自定义TitleBar
    设置按钮的selector
    MD5加密(Android里和Java SE里是一样的)
    Android中图片实现按钮点击效果
    Handler消息传递机制
    ContentProvider的使用
    操作Sqlite数据库
    使用Pull解析器读取XML文件
    Android添加事件的四种方法
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/4932463.html
Copyright © 2020-2023  润新知