zoukankan      html  css  js  c++  java
  • mybatis参数形式

    1 使用map

    <select id="selectRole" parameterType="map" resultType="RoleMap">
            SELECT id, roleName, note
            FROM role
            WHERE roleName LIKE Concat('%',#{roleName},'%')
            and note like Concat('%',#{note},'%')
        </select>

    在接口中如下定义

    List<Role> selectRole(Map map);

    说明:这种方法简单易用,弊端是业务关联性不强,查看参数需要查看代码,可读性下降。

    2 使用注解传递参数

    xml文件中定义sql语句如下

    <select id="findRoleByAnnotation" resultType="roleMap">
            SELECT id, roleName, note
            FROM role
            WHERE roleName LIKE Concat('%',#{roleName},'%')
            and note like Concat('%',#{note},'%')
        </select>

    接口如下

    List<Role> findRoleByAnnotation(@Param("roleName") String rolename, @Param("note") String note);

    说明:通过@Param 提供的名称mybatis就知道 #{roleName} 代表 rolename 。参数可读性大大提高了。适用于参数数量较少的情况。如果参数数量过多,推荐使用javabean方式。

    3 在参数过多的情况下,使用 javabean 传递参数

    参数类RoleParam

    public class RoleParam {
        private String roleName;
        private String note;
    
        public String getRoleName() {
            return roleName;
        }
    
        public void setRoleName(String roleName) {
            this.roleName = roleName;
        }
    
        public String getNote() {
            return note;
        }
    
        public void setNote(String note) {
            this.note = note;
        }
    }

    xml文件查询sql

    <select id="findByJavaBean" resultType="roleMap" parameterType="com.huitong.service.command.RoleParam">
            SELECT id, roleName, note
            FROM role
            WHERE roleName LIKE Concat('%',#{roleName},'%')
            and note like Concat('%',#{note},'%')
        </select>

    接口文件中

    List<Role> findByJavaBean(RoleParam roleparam);

    说明:当参数个数多于5个时,推荐使用javabean方式。

  • 相关阅读:
    Oracle 查看一个表对应的主键和外键的约束关系,查看的语句:
    openssl 生成p12文件错误
    XP SP3远程桌面无法连接Windows Server 2008/Vista
    windows 7 正确禁用 IPv6
    用正则表达式替换换行符
    Eclipse插件开发之定制向导(各方法说明)
    oepnvpn 配置自启动
    TNS12547: TNS:lost contact 错误解决
    redhat 5.5 U盘安装
    Hibernat 使用Criteria查询多对多关系(SET集合)条件
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/10978392.html
Copyright © 2011-2022 走看看