MyBatis Plus 将查询结果封装到指定实体
思路
自定义方法,使用Wrapper,自定义映射结果集
Mapper接口
package com.mozq.boot.mpsand01.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.mozq.boot.mpsand01.pojo.OrderInfo;
import com.mozq.boot.mpsand01.vo.OrderVO;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface OrderInfoDao extends BaseMapper {
@Select("select * from order_info ${ew.customSqlSegment}")
/* 只指定2个,其他列能自动匹配的,也会被映射。
@Results({
@Result(id = true, column = "ORDER_ID", property = "orderId", jdbcType = JdbcType.VARCHAR),
@Result(column = "USER_ID", property = "userId", jdbcType = JdbcType.INTEGER)
})
*/
List findByCondition(@Param(Constants.WRAPPER)Wrapper wrapper);
List selectOrderVOList(@Param(Constants.WRAPPER)Wrapper wrapper);
}
Mapper.xml
/p>
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
ORDER_ID,
USER_ID,
COMPANY_ID,
CUSTOMER_ID,
CUSTOMER_NAME,
MOBILE_PHONE,
ACCOUNT_ID,
PRODUCT_ID,
PRODUCT_NAME,
ORDER_TYPE,
QUANTITY,
LICENSE_PLATE_NUMBER,
PRICE,
TOTAL_MONEY,
PAY_QUANTITY,
PAY_MONEY,
THE_WEIGHT,
DELIVERY_ADDRESS,
RECEIVE_ADDRESS,
ORDER_STATUS,
REMARK,
PICKUP_TIME,
CREATE_TIME,
UPDATE_TIME
select
from order_info
${ew.customSqlSegment}
测试类
@Test
public void selectOrderVOList(){
List orderVOList = orderInfoDao.selectOrderVOList(
Wrappers.lambdaQuery()
.eq(OrderInfo::getUserId, 123456)
.eq(OrderInfo::getCompanyId, 1)
);
System.out.println(orderVOList.size());
List byCondition = orderInfoDao.findByCondition(
Wrappers.lambdaQuery()
.eq(OrderInfo::getUserId, 123456)
.eq(OrderInfo::getCompanyId, 1)
);
System.out.println(byCondition.size());
List orderInfoList = orderInfoDao.selectList(
Wrappers.lambdaQuery()
.eq(OrderInfo::getUserId, 123456)
.eq(OrderInfo::getCompanyId, 1)
);
System.out.println(orderInfoList.size());
}
用mybatis将SQL查询语句”select * from user”的封装为配置文件
用mybatis将SQL查询语句”select * from user”的封装为配置文件 定义一个xml映射文件,文件名见名知意.如user-mapper.xml,文件内容如下: <?xml v ...
Mybatis之关联查询
一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...
mybatis 联表查询
一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...
Mybatis按SQL查询字段的顺序返回查询结果
在SpringMVC+Mybatis的开发过程中,可以通过指定resultType="hashmap"来获得查询结果,但其输出是没有顺序的.如果要按照SQL查询字段的顺序返回查询结 ...
【转载】Mybatis多参数查询映射
转载地址:http://www.07net01.com/zhishi/402787.html 最近在做一个Mybatis的项目,由于是接触不久,虽然看了一下资料,但在实际开发中还是暴 露了很多问题,其 ...
Mybatis包分页查询java公共类
Mybatis包分页查询java公共类 分页----对于数据量非常大的查询中.是不可缺少的. mybatis底层的分页sql语句因为须要我们自己去手动写.而实现分页显示的时候我们须要依据分页查询条 ...
mybatis一对一嵌套查询
要求:查询一个员工的时候,把他对应的部门也查询出来 实现(其他配置这里不作说明,框架基于spring_springMVC_mybatis_oracle): 如有不对或不适的地方,请多多指教. 1.新建 ...
MyBatis多对多查询
-------------------siwuxie095 MyBatis 多对多查询 以订单和商品为例,即 一个订单可 ...
MyBatis之自查询,使用 递归实现 N级联动
A:首先先看下一个简单的面试题 斐波那契数列 计算数组{1,1,2,3,5,8.......} 第30位值 规律:1 1 从第三项开始,每一项都是前两项之和 有两种实现方式 第一种方式: public ...
随机推荐
机器学习笔记-----AP(affinity propagat)算法讲解及matlab实现
大家好,我是人见人爱,花见花开的小花.哈哈~~! 在统计和数据挖掘中,亲和传播(AP)是基于数据点之间"消息传递"概念的聚类算法.与诸如k-means或k-medoids的聚类算法 ...
git安装及命令使用和github网站
最近参与别人的github项目时,学习了git的使用,首先需要在https://github.com/网站上注册账号和邮箱,然后fork一个开源项目,然后下载目前Windows下最新版本的git,下载 ...
SharePoint 向多行文本类型字段插入特殊类型链接
1.在测试列表中插入一个多行文本字段,名字叫做Content,如下图: 2.在Content字段里,添加一个Link,如下图: 3.尝试输入Notes格式的Link,如下图: 4.点击OK的时候,弹出 ...
Activiti 学习笔记记录
官方在线用户手册(英文版):http://activiti.org/userguide/index.html 中文用户手册:http://www.mossle.com/docs/activiti/in ...
JDK7的Comparison method violates its general contract异常
1.摘要 前一阵遇到了一个使用Collections.sort()时报异常的问题,跟小伙伴@zhuidawugui 一起排查了一下,发现问题的原因是JDK7的排序实现改为了TimSort,之后我们又进 ...
pg 匹配中文字符
用到了正则表达式: 字段 ~'[\u4E00-\u9FA5]+$'; 注意:此表达式可能还不能取到最全的值.
Extjs4---Cannot read property &#39;addCls&#39; of null
用MVC做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read property 'addCl ...
在含有null值的复杂类的集合(Collection)中取最大值
在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...
Java---设计模块(值对象)
★ 场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互? ★ 基本的编写步骤 ◎第1步:写一个类,实现可序列化(如果以后数据 ...
常用Jquery插件整理大全
做项目的时候总是少不了要用到Jquery插件,但是Jquery插件有太多,每次都要花费一些时间,因此本人就抽时间整理了一些Jquery插件,每个插件都有Demo或者是使用文档供大家下载.整理了一晚上才 ...