zoukankan      html  css  js  c++  java
  • mybatis学习六 parameterType 属性

    1. 在 XXXMapper.xml 中<select><delete>等标签的 parameterType 可以控制参数类型
    2. SqlSession 的 selectList()和 selectOne()的第二个参数和 selectMap()的第三个参数都表示方法的参数.
      2.1 示例,

      People p = session.selectOne("a.b.selById",1);

      System.out.println(p);

    2.2 在 Mapper.xml 中可以通过#{}获取参数
      2.2.1 parameterType 控制参数类型
      2.2.2 #{}获取参数内容
        2.2.2.1 使用索引,从 0 开始 #{0}表示第一个参数
        2.2.2.2 也可以使用#{param1}第一个参数
        2.2.2.3 如果只有一个参数(基本数据类型或 String),mybatis对#{}里面内容没有要求只要写内容即可.
        2.2.2.4 如果参数是对象#{属性名}
        2.2.2.5 如果参数是 map 写成#{key}

    <select id="selById"
      resultType="com.bjsxt.pojo.People"
      parameterType="int">
      select * from people where id=#{0}
    </select>

    3. #{} 和 ${} 的区别
      3.1 #{} 获取参数的内容支持 索引获取,param1获取指定位置参数,并且 SQL 使用?占位符
      3.2 ${} 字符串拼接不使用?,默认找${内容}内容的 get/set 方法,如果写数字,就是一个数字

    4. 如果在 xml 文件中出现 “<” , “>” ,双引号 等特殊字符时可以使用XML 文件转义标签(XML 自身的)
      4.1 <![CDATA[ 内容 ]]>

    5. mybatis 中实现 mysql 分页写法
      5.1 ?不允许在关键字前后进行数学运算,需要在代码中计算完成后传递到 mapper.xml 中

    //显示几个
    int pageSize = 2;
    //第几页
    int pageNumber = 2;
    //如果希望传递多个参数,可以使用对象或 map
    Map<String,Object> map = new HashMap<>();
    map.put("pageSize", pageSize);
    map.put("pageStart", pageSize*(pageNumber-1));
    List<People> p =
    session.selectList("a.b.page",map);
    <select id="page" resultType="com.bjsxt.pojo.People"
    parameterType="map">
    select * from people limit #{pageStart},#{pageSize}
    </select>



  • 相关阅读:
    机器学习算法优秀性:衡量指标
    MapReduce and Pregel
    K-d 树对聚类算法进行预处理
    论文中的算法描述 By 薛磊
    批判性思维《描述性假设》
    论文中的数学符号使用
    HOOK别人的dylib(HOOK cydia里面的插件)
    关于某听书软件的开通20年会员的心路历程
    Aspects 源码学习
    Undefined symbols for architecture arm64(其cpu架构)
  • 原文地址:https://www.cnblogs.com/cplinux/p/9631631.html
Copyright © 2011-2022 走看看