mybatis-地区三表生成地区树
package com.dhht.manager.vo.area; import lombok.Data; import java.io.Serializable;
import java.util.List; /**
* @Author: sh
* @Description: ProvinceVO
* @Date: 19:33 2019/12/23
*/
@Data
public class ProvinceVO implements Serializable {
private static final long serialVersionUID = 8581900297888963919L;
private Long id;
private String name;
private String code;
private Long regionLevel;
private String regionName;
private Long parentId;
private List<CityVO> children;
}
package com.dhht.manager.vo.area; import lombok.Data; import java.io.Serializable;
import java.util.List; /**
* @Author: sh
* @Description: CityVO
* @Date: 19:33 2019/12/23
*/
@Data
public class CityVO implements Serializable {
private static final long serialVersionUID = -4506315529106267971L;
private Long id;
private String name;
private String code;
private Long regionLevel;
private String regionName;
private Long parentId;
private List<DistrictVO> children;
}
package com.dhht.manager.vo.area; import lombok.Data; import java.io.Serializable;
import java.util.List; /**
* @Author: sh
* @Description: DistrictVO
* @Date: 19:35 2019/12/23
*/
@Data
public class DistrictVO implements Serializable {
private static final long serialVersionUID = 6682075711606147829L; private Long id;
private String name;
private String code;
private Long regionLevel;
private String regionName;
private Long parentId;
private List<Object> children;
}
package com.dhht.dao; import com.dhht.manager.vo.area.DistrictVO;
import com.dhht.manager.vo.area.ProvinceVO;
import com.dhht.model.City;
import org.apache.ibatis.annotations.Param; import java.util.List; public interface CityMapper { List<ProvinceVO> treeProvinceQuery(@Param(value = "code")String code); List<City> treeCityQuery(@Param(value = "id")Long id); List<DistrictVO> treeDistrictQuery(@Param(value = "id")Long 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="com.dhht.dao.CityMapper">
<!--province-->
<resultMap id="provinceVoMap" type="com.dhht.manager.vo.area.ProvinceVO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="parentId" jdbcType="BIGINT" property="parentId" />
<collection property="children" column="id" select="com.dhht.dao.CityMapper.treeCityQuery"></collection>
</resultMap>
<!--end province--> <!--city-->
<resultMap id="cityVoMap" type="com.dhht.manager.vo.area.CityVO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="parentId" jdbcType="BIGINT" property="parentId" />
<collection property="children" column="id" select="com.dhht.dao.CityMapper.treeDistrictQuery"></collection>
</resultMap>
<!--end city--> <!--district-->
<resultMap id="districtVoMap" type="com.dhht.manager.vo.area.DistrictVO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="parentId" jdbcType="BIGINT" property="parentId" />
</resultMap>
<!--end district-->
<resultMap id="BaseResultMap" type="com.dhht.model.City">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="province_id" jdbcType="BIGINT" property="provinceId" />
<result column="code" jdbcType="VARCHAR" property="code" />
</resultMap> <select id="treeProvinceQuery" resultMap="provinceVoMap">
select id,name,code,NULL AS parentId
from lv_province
WHERE CODE=#{code}
</select> <select id="treeCityQuery" resultMap="cityVoMap">
select id,name,code,#{id} AS parentId
from lv_city
WHERE province_id=#{id}
</select> <select id="treeDistrictQuery" resultMap="districtVoMap">
select id,name,code,#{id} AS parentId
from lv_district
WHERE city_id=#{id}
</select>
</mapper>
mybatis-地区三表生成地区树的更多相关文章
- LinqToDB 源码分析——生成表达式树
当我们知道了Linq查询要用到的数据库信息之后.接下就是生成对应的表达式树.在前面的章节里面笔者就已经介绍过.生成表达式树是事实离不开IQueryable<T>接口.而处理表达式树离不开I ...
- MyBatis代码自动生成(利用命令)
这几天在学习springmvc,需要用到mybatis,所以研究了一下mybatis自动代码生成,当然也可以手动敲,但是那样效率非常的慢,并且出错率也是很高的,利用MyBatis生成器自动生成实体类. ...
- MyBatis代码自动生成
MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实 ...
- 使用Mybatis Generator自动生成Mybatis相关代码
本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...
- paip.tree 生成目录树到txt后的折叠查看
paip.tree 生成目录树到txt后的折叠查看 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.ne ...
- Mybatis自己主动生成代码
在mybatis自己主动生成代码有两种方式: 方式一:是通过使用eclipse作为开发工具.採用maven来构建项目生成的.以下的演示是通过第一种方式. 今天来记录下mybatis-generator ...
- 泛型方法动态生成表达式树 Expression
public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...
- Springboot 系列(十一)使用 Mybatis(自动生成插件) 访问数据库
1. Springboot mybatis 介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数获取 ...
- SpringBoot 添加mybatis generator 自动生成代码插件
自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...
随机推荐
- 构造方法与setter方法
上一个随笔提到了constructor-arg子标签,此随笔将会介绍一些类型的赋值方法 ①String类型.基本数据类型或其包装类都可以使用value标签属性赋值 String类型和基本类型的操作如下 ...
- javaboot+es
说明:可能有些书教你学es的时候,叫你下载什么kibana,crul……之类的也要版本对应,但实际上这些东西写代码不是必须.当时为了搞这些东西花了一天时间.我们用postman也可以写命令的. 正文: ...
- S7-300数据处理基本知识(结尾以MW8+1 ADD指令实训仿真,并用状态表监控及刷写变量)
数据处理基本知识汇总 STEP7 的数据类型包括什么? 基本数据类型 复杂数据类型 用于FB(功能块)的输入,输出参数类型 用于FC(功能)的输入,输出参数类型 基本数据类型是什么? 先列举12种数据 ...
- Kafka--初识Kafka
前言 数据为企业的发展提供动力.我们从数据中获取信息,对他们进行分析处理,然后生成更多的数据.每个应用程序都会产生数据,包括日志消息,度量指标,用户活动记录,响应消息等.数据的点点滴滴都在暗示一些重要 ...
- gitolite服务器配置的一些心得
1.假设说有服务器1,hostname为lab1,服务器2,hostname为lab2,分别生成的给对方使用的公钥为server-lab1.pub.server-lab2.pub,服务器1和2都有自己 ...
- log4j1-x使用
目录 代码 配置 编译 测试 代码: import org.apache.log4j.*; public class Client{ public static void main(String[] ...
- 如何将本地项目推送到Github
如何将本地项目推送到Github Tip:在本地要安装好Git,官网:https://git-scm.com/ 一个学习Git的好地方:https://try.github.io/ 在线闯关实战,边练 ...
- OLAP(On-Line Analytical Processing)
自20世纪80年代开始,许多企业利用关系型数据库来存储和管理业务数据,并建立相应的应用系统来支持日常的业务运作.这种应用以支持业务处理为主要目的,被称为联机事务处理(On line Transacti ...
- Android Studio真机调试安装以后打开闪退,打包APK再安装正常打开没有问题
一直真机调试都没有问题, 但是有一次开始,真机调试正常安装没有问题,但是一打开就崩溃了一眨眼间就像被光闪了一下的那种. oppoR11调试会这样,但是用魅族试过没有问题, 报错出现过Android S ...
- Elasticsearch 搜索API
章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...