mybatis之特殊查询

在mybatis查询的过程中,某个字段是经过计算得到的,这时,在设计数据表的时候,就不 必在增加此对应的字段

那么,在查询的时候,页面有需要展示这个字段时,怎么办呢?

举个例子:

在查询微信团商品时,根据微信团商品的(wag.id)id,计算商品的数量,有几个商品就是N选一,

这就体验到mybatis的强大之处了,

在创建Model的时候,增加此字段的属性.

public class WeixinActivity extends BaseBO {

/**
* X选一
*/
private String chooseN;//这个字段在数据库中是不存在的choose_n

set方法

get方法

}

在mapper.xml映射的时候需要注意,

<result column="choose_n" property="chooseN" />
<!--
这里的choose_n是下划线格式的,那么在查询的结果的在as的时候也应该是as  choose_n
-->

(
SELECT COUNT(wag.id)
FROM weixin_activity_goods wag
WHERE wag.is_delete = 'N' AND wag.weixin_activity_id = wa.weixin_id) AS choose_n

 

 

<!--如果在映射的时候是这样的-->

<result column="chooseN" property="chooseN" />

<!--那么在AS 的时候应该是这样的  -->

(
SELECT COUNT(wag.id)
FROM weixin_activity_goods wag
WHERE wag.is_delete = 'N' AND wag.weixin_activity_id = wa.weixin_id) AS chooseN

 

 

<!--column 是数据列,property是Model的属性  -->
原文地址:https://www.cnblogs.com/wangchuanfu/p/5883840.html