MyBatis基础知识点

MyBatis基础知识点

一. 配置文件的加载顺序

如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:

  • 在 properties 元素体内指定的属性首先被读取。
  • 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
  • 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。

因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的是 properties 属性中指定的属性。

二. 查询结果resultType返回值类型

  • 一般数据类型:
    mapper接口:
String getEmpNameById(Integer id);

SQL映射文件:

<select id="getEmpNameById" resultType="string">
	select username from t_employee where id = #{id}
</select>
  • JavaBean 类型
    mapper接口:
Employee getEmpById(Integer id);

SQL映射文件:

<select id="getEmpById" resultType="employee">
	select * from t_employee where id = #{id}
</select>
  • List类型
    mapper接口:
List<Employee> getAllEmps();

SQL映射文件:

<select id="getAllEmps" resultType="employee">
	select * from t_employee
</select>
  • Mapper类型
    如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。
    mapper接口:
Map<String, Object> getEmpAsMapById(Integer id);

SQL映射文件:

<select id="getEmpAsMapById" resultType="map">
	select * from t_employee where id = #{id}
</select>

如果查询的结果是多条数据,我们也可以把查询的数据以{表中某一字段名, JavaBean}方式来封装成Map。
mapper接口:

@MapKey("id")
Map<Integer, Employee> getAllEmpsAsMap();

SQL映射文件:

<select id="getAllEmpsAsMap" resultType="employee">
	select * from t_employee
</select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值