Mybatis collections应用 获取包含多个List
来源:互联网 发布:python网络爬虫实战 编辑:程序博客网 时间:2024/06/07 23:04
这是Mybatis的一个小例子,模糊查询
Dao层
package com.dao;import java.util.List;import java.util.Map;import com.domain.Dept;public interface DeptMapper { public List<Dept> getDeptList(Map<String, Object> param);}
Mapper
<?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="com.dao.SystemDeptMapper"> <resultMap id="DeptMap" type="com.domain.Dept"> <id column="id" property="deptId" /> <result column="name" property="name" /> <result column="parentId" property="parentId" /> <result column="sortNo" property="sortNo" /> <collection property="childList" ofType="com.domain.Dept" javaType="ArrayList" column="{parentId=id}" select="getDeptList" /> <collection property="leaders" javaType="java.util.List" column="id" select="getLeaderList" /> </resultMap> <select id="getDeptList" parameterType="map" resultMap="DeptMap"> SELECT abd.id AS id, abd. NAME AS 'name', abd.parent_id AS parentId, abd.sort_no AS sortNo FROM abd WHERE parent_id = #{parentId} <if test="fuzzyName != null"> AND abd. NAME like CONCAT('%','#{keyword}','%') </if> </select> <select id="getLeaderList" parameterType="java.lang.Integer" resultType="java.lang.String"> SELECT DISTINCT au.`name` FROM au LEFT JOIN aa ON au.user_id = aa.user_id WHERE aa.dept_id = #{deptId} </select></mapper>
实体类
package com.domain;import java.util.Date;import java.util.List;/** 1. @Description: 实体类 2. @Title Dept 3. @Package com.domain */public class Dept {private Integer deptId;private String name;private Integer parentId;private Integer sortNo;private List<Dept> childList;private List<String> leaders;public Integer getDeptId() {return deptId;}public void setDeptId(Integer deptId) {this.deptId = deptId;}public String getName() {return name;}public void setName(String name) {this.name = name == null ? null : name.trim();}public Integer getParentId() {return parentId;}public void setParentId(Integer parentId) {this.parentId = parentId;}public Integer getSortNo() {return sortNo;}public void setSortNo(Integer sortNo) {this.sortNo = sortNo;}public List<Dept> getChildList() {return childList;}public void setChildList(List<Dept> childList) {this.childList = childList;}public List<String> getLeaders() {return leaders;}public void setLeaders(List<String> leaders) {this.leaders = leaders;}}
小结:
- resultMap中可以添加多个collections标签,返回结果中可以套多个list
- 若返回结果为一列,并且想让其转换为list,使resultType为resultType=”java.lang.String”
- 模糊查询要使用concat,例如:
<if test="keyword != null">
AND
name like CONCAT('%','#{keyword}','%')
</if>
后语:
初出茅庐,如有不足,请留言赐教。
0 0
- Mybatis collections应用 获取包含多个List
- java 中List包含List,如何添加多个list,Map中包含多个list,如何添加?
- 应用 Collections.sort() 实现 List 排序
- SpringMVC解析包含多个对象的List参数
- c# 接收包含多个List的json串
- mybatis配置对象包含对象以及List
- mybatis配置对象包含对象以及List
- mybatis 多个参数传递获取,基础教程
- List、Collections
- list 获取应用icon
- Mybatis传入多个参数 Map List作为参数
- hibernate使用list映射,查询出来的list集合包含多个null记录
- 构建第一个Mybatis应用
- mybatis复合参数 map中包含list的参数
- Mybatis参数为对象中包含list情况处理
- MyBatis传入参数为集合 map中包含 list 数组
- mybatis获取list结果集的操作
- mybatis 获取 list类型的返回值
- mac环境下上传项目到github
- Install Qt 5 on Ubuntu
- C中字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现
- hdu_2046骨牌铺方格
- bzoj3190: [JLOI2013]赛车
- Mybatis collections应用 获取包含多个List
- CentOS 7 上编译安装MySQL 5.6.23
- Mybatis:org.postgresql.util.PSQLException: ERROR: relation "summarytdglinfo" does not ex
- 将 Session 数据存入数据库
- android 的apk反编译
- Android仿mac音量拖动view实现
- HDU 5943 Kingdom of Obsession (二分图)
- servlet基础知识
- 8. String to Integer (atoi)