MyBatis一对多和多对多xml配置
MyBatis一对多和多对多xml配置
<?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.ktcx.models.business.busfreighttemplate.dao.BusFreightTemplateDao">
<sql id="BaseColumn">
id,
partner_id,
create_by,
create_date,
code,
is_del,
end_update_date,
name,
type,
area,
is_default
</sql>
<resultMap id="myResultMap"
type="com.ktcx.models.business.busfreighttemplate.model.BusFreightTemplate">
<id property="id" column="id"></id>
<result property="partnerId" column="partnerId"/>
<result property="code" column="code"/>
<result property="partnerId" column="partnerId"/>
<result property="endUpdateDate" column="endUpdateDate"/>
<result property="name" column="name"/>
<result property="type" column="type"/>
<result property="area" column="area"/>
<result property="isDefault" column="isDefault"/>
<collection property="freightProvices"
ofType="com.ktcx.models.bq.freightprovice.model.FreightProvice">
<id column="fpId" property="id"/>
<result property="proviceText" column="fpProviceText"/>
<result property="code" column="fpCode"/>
<result property="increaseFee" column="fpIncreaseFee"/>
<result property="increaseNum" column="fpIncreaseNum"/>
<result property="startFee" column="fpStartFee"/>
<result property="startNum" column="fpStartNum"/>
<result property="proviceName" column="fpProviceName"/>
<result property="proviceId" column="fpProviceId"/>
<result property="shopId" column="fpShopId"/>
<result property="templateId" column="fpTemplateId"/>
</collection>
</resultMap>
<!--一对多的查询-->
<select id="selectTemplateAndFreight" resultMap="myResultMap">
SELECT
ft.id,
ft.partner_id AS partnerId,
ft.code ,
ft.end_update_date AS endUpdateDate,
ft.name ,
ft.type ,
ft.area ,
ft.is_default AS isDefault,
fp.id fpId,
fp.shop_id AS fpShopId ,
fp.provice_id AS fpProviceId ,
fp.provice_name AS fpProviceName ,
fp.start_num AS fpStartNum ,
fp.start_fee AS fpStartFee ,
fp.increase_num AS fpIncreaseNum ,
fp.increase_fee AS fpIncreaseFee ,
fp.code AS fpCode ,
fp.provice_text AS fpProviceText ,
fp.template_id AS fpTemplateId
FROM
(
SELECT
f.id,
f.partner_id ,
f.code ,
f.end_update_date ,
f.name ,
f.type ,
f.area ,
f.is_default ,
f.is_del,
f.create_date
FROM
bus_freight_template f
LEFT JOIN bus_freight_provice p
ON f.id = p.template_id
WHERE f.code = p.code
AND f.code = #{code}
GROUP BY f.id
LIMIT #{startPage},#{pageSize}
) ft
LEFT JOIN bus_freight_provice fp
ON ft.id = fp.template_id
WHERE ft.code = fp.code
AND fp.template_id IS NOT NULL
AND ft.code = #{code}
AND fp.is_del = '0'
AND ft.is_del = '0'
order by ft.create_date desc
</select>
<select id="getALLTemplate" resultType="int">
SELECT COUNT(0) FROM bus_freight_template WHERE is_del = '0' AND CODE= #{code}
</select>
<insert id="saveData">
insert into bus_freight_template(
<include refid="BaseColumn"/>
)
VALUES
(
#{id},
#{partnerId},
#{createBy},
#{createDate},
#{code},
#{isDel},
#{endUpdateDate},
#{name},
#{type},
#{area},
#{isDefault}
)
</insert>
</mapper>
MyBatis一对多和多对多xml配置的更多相关文章
- Java基础-SSM之mybatis一对多和多对一关系映射
Java基础-SSM之mybatis一对多和多对一关系映射 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表) 1>.创建customers表: ...
- mybatis 一对多,多对一配置
一. 简介: 本实例使用顾客和订单的例子做说明: 一个顾客可以有多个订单, 一个订单只对应一个顾客 二. 例子: 1. 代码结构图: 2. 建表语句: CREATE DATABASE test; US ...
- Mybatis 代码自动生成(generatorConfig.xml配置)
博客推荐: Mybatis最入门---代码自动生成(generatorConfig.xml配置) MyBatis Generator generatorConfig.xml配置详解 pom.xml&l ...
- mybatis 一对多和多对一 简单案例笔记
以案例说明(以下案例代码都敲过验证过) 多对一(多个学生对一个老师 即学生集合中都存一个老师对象) Mybatis多对一实现方式1: //定义Student 和 Teacher 实体 @Data p ...
- Hibernate系列学习之(二) 多对一、一对一、一对多、多对多的配置方法
这是近期做案件录入.java项目中体会的几点:项目理解很是深刻,和大家共勉! hihernate一对多关联映射(单向Classes----->Student) 一对多关联映射利用了多对一关联映射 ...
- 【转】Hibernate系列学习之(二) 多对一、一对一、一对多、多对多的配置方法
hihernate一对多关联映射(单向Classes----->Student) 一对多关联映射利用了多对一关联映射原理 多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向 ...
- Mybatis 中一对多,多对一的配置
现在有很多电商平台,就拿这个来说吧.顾客跟订单的关系,一个顾客可以有多张订单,但是一个订单只能对应一个顾客. 一对多的顾客 <?xml version="1.0" encod ...
- Mybatis关联查询之一对多和多对一XML配置详解
平时在开发过程中dao.bean和XML文件都是自动生成的,很少写XML的配置关系,今天记录一下mybatis的关联查询中的多对一和一对多的情况. 首先是有两张表(学生表Student和老师Teach ...
- mybatis 一对多和多对一关联查询
首先 数据库量表之间字段关系(没有主外键) studentmajor表的id字段对应student表里major字段 两个实体类 package com.model; import java.uti ...
随机推荐
- Unity 入門 - 延遲解析
本文大纲: 小引 共享的范例代码 使用 Lazy<T> 使用自动工厂 注入自定义工厂 小引 当我们说「解析某个型别/组件」时,意思通常是呼叫某类别的建构函式,以建立其实例(instance ...
- 客服端JavaScript线程模型
JavaScript语言核心并不包含任何线程机制,并且客服端JavaScript传统上没有定义任何线程机制.HTML5定义了一种作为后台线程的“WebWorker",但是客服端JavaScr ...
- mac下 编译php的 openssl
编译openssl.so tar zxvf php-7.2.8.tar.gz# 进入PHP的openssl扩展模块目录cd php-7.2.8/ext/openssl/brew install ope ...
- Git 备忘录
整理了一下工作中常用的 Git 操作,持续更新中... merge单个文件 例如 B分支想要合并A分支的某个文件 首先,我们切换到B分支 git checkout branch B 之后,我们c ...
- linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
在安装完成之后,初始化数据库之前,修改 my.cnf 打开mysql配置文件 vim /etc/my.cnf 在尾部追加一行 lower_case_table_names=1 并保存,然后再初始化数据 ...
- 【JAVA NIO】java NIO
本文是博主深入学习Netty前的一些铺垫,之前只是使用Netty,用的很粗暴,导包,上网找个DEMO就直接用,对Netty中的组件了解并不深入. 于是再此总结下基础,并对一些核心组件作如下记录: 1. ...
- 汇编入门三-CPU工作原理
本文为读书笔记,个人总结与摘抄自<汇编语言 第二版> 1.CPU从内存中读取数据,首先要获得存储单元的地址. 2.指明进行的操作,如存储或者读写 所以,CPU要进行操作总结为: 1.存储单 ...
- 👮 Golang Gin/Ace/Iris/Echo RBAC 鉴权库
GRBAC 项目地址: https://github.com/storyicon/grbac Grbac是一个快速,优雅和简洁的RBAC框架.它支持增强的通配符并使用Radix树匹配HTTP请求.令人 ...
- Jenkins与RocketChat集成
Jenkins与RocketChat集成 在Jenkins中安装插件RocketChat Notifier 配置信息 点击Jenkins左侧的系统管理-->系统设置, 找到Global Rock ...
- K8s集群部署(一)------ETCD集群部署
环境说明 三台主机: k8s-master 10.0.3.225 k8s-node1 10.0.3.226 k8s-node2 10.0.3.227 配置主机名解析 [root@k8s- ...