parameterType 属性、typeAliases 别名

五 parameterType 属性

  1. 在 XXXMapper.xml 中等标签的 parameterType 可以
    控制参数类型
  2. SqlSession 的 selectList()和 selectOne()的第二个参数和 selectMap()
    的第三个参数都表示方法的参数.
    2.1 示例,
    People p = session.selectOne(“a.b.selById”,1);
    System.out.println§;
    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>
  1. #{} 和 ${} 的区别
    3.1 #{} 获取参数的内容支持 索引获取,param1 获取指定位置参数, 并且 SQL 使用?占位符
    3.2 字 符 串 拼 接 不 使 用 ? , 默 认 找 {} 字符串拼接不使用?,默认找 使?,{内容}内容的 get/set 方法,如果写数字,就是一个数字
  2. 如果在 xml 文件中出现 “<” , “>” ,双引号 等特殊字符时可以使用XML 文件转义标签(XML 自身的)
    4.1 <![CDATA[ 内容 ]]>
  3. mybatis 中实现 mysql 分页写法
    5.1 ?不允许在关键字前后进行数学运算,需要在代码中计算完成后传递到 mapper.xml 中
    5.2 在 java 代码中计算
//显示几个
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);

5.3 在 mapper.xml 中代码

<select id="page" resultType="com.bjsxt.pojo.People"  parameterType="map">
   select * from people limit #{pageStart},#{pageSize}
</select>

六. typeAliases 别名

  1. 系统内置别名: 把类型全小写
  2. 给某个类起别名
    2.1 alias=”自定义” <typeAliases>
<typeAlias type="com.bjsxt.pojo.People"  alias="peo"/>
</typeAliases>

2.2 mapper.xml 中 peo 引用 People 类

<select id="page" resultType="peo"   parameterType="map">
   select * from people limit #{pageStart},#{pageSize}
</select>
  1. 直接给某个包下所有类起别名,别名为类名,不区分大小写
    3.1 mybatis.xml 中配置
<typeAliases>  
   <package name="com.bjsxt.pojo" />
</typeAliases>

3.2 mapper.xml 中通过类名引用

<select id="page" resultType="People"   parameterType="map">
   select * from people limit #{pageStart},#{pageSize}
</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值