mybatis之特殊查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的属性

 

以上是关于mybatis之特殊查询的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis学习特殊SQL的执行

mybatis学习笔记(13)-查询缓存之二级缓存

Mybatis从入门到精通系列 09——Mybatis多表查询之一对多查询

MyBatis学习笔记 —— 特殊SQL的执行

MyBatis特殊SQL的执行

mybatis深入之动态查询和连接池介绍