Mybatis学习第21节 -- 扩展结果集

大部分现实应用中我们并不需要把数据库中的整行数据都拉出来, 所以要做扩展结果集
笔记 : 在实际项目过程中, 先用逆向工程自动生成, 然后再做扩展结果集来满足大部分的现实需要
 
本节内容应该注意扩展结果集的命名方式

创建一个扩展类ShopCustom, (这样命名可以和Shop在项目树里面排列在一起)

package io.github.coinsjack.pojo;

public class ShopCustom extends Shop {

private String shopName;
private String shopDesc;

public ShopCustom() {
}

创建一个mapper接口 ShopMapperCustom 

package io.github.coinsjack.dao;

import io.github.coinsjack.pojo.ShopCustom;

public interface ShopMapperCustom {

ShopCustom getShopById(Integer id);

}

创建对应的映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mapper namespace="io.github.coinsjack.dao.ShopMapperCustom">

<cache/>
 
    <resultMap id="shopResultMap" type="ShopCustom">
<id column="shop_id" property="id" ></id>
<result column="shop_name" property="shopName"></result>
<result column="shop_desc" property="shopDesc"/>
</resultMap>

<select id="getShopById" parameterType="int" resultMap="shopResultMap" >
select `shop_id`, `shop_name`, `shop_desc`
from tb_shop
where `shop_id` = #{id}
</select>
</mapper>
测试
@Test
public void testGetShopByIdCustom() {
SqlSession session = MyBatisUtil.getSqlSession();
ShopMapperCustom mapper = session.getMapper(ShopMapperCustom.class);
System.out.println(mapper.getShopById(29));
session.close();
}

结果

2018-12-29 11:33:32,656 [main] DEBUG [io.github.coinsjack.dao.ShopMapperCustom] - Cache Hit Ratio [io.github.coinsjack.dao.ShopMapperCustom]: 0.0
2018-12-29 11:33:33,128 [main] DEBUG [io.github.coinsjack.dao.ShopMapperCustom.getShopById] - ==> Preparing: select `shop_id`, `shop_name`, `shop_desc` from tb_shop where `shop_id` = ? 
2018-12-29 11:33:33,237 [main] DEBUG [io.github.coinsjack.dao.ShopMapperCustom.getShopById] - ==> Parameters: 29(Integer)
2018-12-29 11:33:33,309 [main] DEBUG [io.github.coinsjack.dao.ShopMapperCustom.getShopById] - <== Total: 1
ShopCustom{shopName='暴漫奶茶店', shopDesc='过来喝喝就知道啦,你是我的奶茶'}


Java知识点
如果父类实现了某接口,子类也会继承接口的实现

转载于:https://www.cnblogs.com/litran/p/10546247.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值