zoukankan      html  css  js  c++  java
  • MyBatis之接口绑定方案及多参数传递

    1.说明

      所谓的MyBatis接口绑定,指的是实现创建一个接口后,把mapper.xml 由mybatis 生成接口的实现类,通过调用接口对象就可以获取mapper.xml 中编写的sql。在SSM框架中,MyBatis 和Spring 整合时使用的就是这个方案。

    2.实现步骤

    1. 创建一个接口(Interface)
    • 创建的接口所在包名和接口名必须与mapper.xml文件中标签的namespace属性值相同
    • 接口中方法名和mapper.xml配置文件中标签的id属性相同
    1. 在mybatis.xml全局配置文件中配置标签,使得MyBatis进行扫描接口和mapper.xml

    3.代码实现步骤:

    1. 在mybatis.xml 全局配置文件中下使用
    <mappers>
    	<package name="com.susu.mapper"/>
    </mappers>
    
    1. 在com.susu.mapper 下新建接口
    public interface LogMapper {
          List<Log> selAll();
    }
    
    1. 在com.susu.mapper 新建一个LogMapper.xml
      注意:
    • namespace 必须和接口的全限定路径(包名+类名)一致
    • id 值必须和接口中方法名相同
    • 如果接口中方法为多个参数,可以省略parameterType
    <mapper namespace="com.susu.mapper.LogMapper">
      <select id="selAll" resultType="log">
        select * from log
      </select>
    </mapper>
    

    4.多参数实现办法

    1. 在接口中声明方法
    List<Log> selByAccInAccout(String accin,String accout);
    
    1. 在mapper.xml 中添加
      #{}中使用 0,1,2 或param1,param2
    <!-- 当多参数时,不需要写parameterType -->
    <select id="selByAccInAccout" resultType="log" >
       select * from log where accin=#{0}	and accout=#{1}
    </select>
    

    5. 可以使用注解方式

    1. 在接口中声明方法
    List<Log> selByAccInAccout(@Param("accin") String accin123,@Param("accout") String accout3454235);
    

    mybatis 把参数转换为map 了,其中@Param("key") 参数内容就是map 的value

    1. 在mapper.xml 中添加
      #{} 里面写@Param(“内容”)参数中内容
    <!-- 当多参数时,不需要写parameterType -->
    <select id="selByAccInAccout" resultType="log" >
       select * from log where accin=#{accin}	and accout=#{accout}
    </select>
    
  • 相关阅读:
    Spring dispatcherServlet
    Tomcat tomcat-users.xml详解
    Tomcat server.xml详解
    WAR包
    Tomcat 部署
    Tomcat 使用说明
    Java sun的JDK
    Spring 使用中的设计模式
    缓存插件 EHCache 对象缓存(Spring)
    缓存插件 EHCache 页面缓存CachingFilter
  • 原文地址:https://www.cnblogs.com/suhaha/p/11794450.html
Copyright © 2011-2022 走看看