记录两张数据库表及Ibatis操作

时间:2022-09-06 19:38:57

建表语句

CREATE TABLE `TS_MopayInvoiceComposition` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`RequestID` int(11) NOT NULL COMMENT '开票ID',
`CustomerID` int(11) NOT NULL COMMENT '客户ID',
`ShopID` int(11) NOT NULL COMMENT '门店ID',
`InvoiceAmount` decimal(10,2) NOT NULL COMMENT '开票金额',
`Status` tinyint(4) NOT NULL COMMENT '状态,1:初始,3:开票中,4:提交失败,5:开票成功,6:冲销成功,7:作废 8:撤销,9 驳回',
`AddTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '添加时间',
`UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`Memo` varchar(255) DEFAULT '' COMMENT '备注',
PRIMARY KEY (`ID`),
UNIQUE KEY `UK_RequestID_ShopID` (`RequestID`,`ShopID`),
KEY `IX_CustomerID_ShopID` (`CustomerID`,`ShopID`),
KEY `IX_ShopID` (`ShopID`)
) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8 COMMENT='闪惠开票申请金额组成';
CREATE TABLE `TS_TGInvoiceComposition` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`RequestID` int(11) NOT NULL COMMENT '开票ID',
`CustomerID` int(11) NOT NULL COMMENT '客户ID',
`DealGroupID` int(11) NOT NULL COMMENT '团购ID',
`InvoiceAmount` decimal(10,2) NOT NULL COMMENT '开票金额',
`Status` tinyint(4) NOT NULL COMMENT '状态,1:初始,3:开票中,4:提交失败,5:开票成功,6:冲销成功,7:作废 8:撤销,9 驳回',
`AddTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '添加时间',
`UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`Memo` varchar(255) DEFAULT '' COMMENT '备注',
PRIMARY KEY (`ID`),
UNIQUE KEY `UK_RequestID_DealGroupID` (`RequestID`,`DealGroupID`),
KEY `IX_CustomerID_DealGroupID` (`CustomerID`,`DealGroupID`),
KEY `IX_DealGroupID` (`DealGroupID`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='团购开票申请金额组成';

ibatis的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="MopayActivityVoucher">
<typeAlias alias="mopayActivityVoucherData" type="com.ts.mopay.settle.biz.data.MopayActivityVoucherData"/>
<resultMap id="mopayActivityVoucherData" class="mopayActivityVoucherData">
<result column="ID" property="id"/>
<result column="OrderID" property="orderId"/>
<result column="ShopID" property="shopId"/>
<result column="SerialNumber" property="serialNumber"/>
<result column="OrderAddTime" property="orderAddTime"/>
<result column="OrderUpdateTime" property="orderUpdateTime"/>
<result column="OrderStatus" property="orderStatus"/>
<result column="TradeType" property="tradeType"/>
<result column="SolutionID" property="solutionId"/>
<result column="SchemeID" property="schemeId"/>
<result column="UniCashierOrderID" property="uniCashierOrderId"/>
<result column="OriginAmount" property="originAmount"/>
<result column="DiscountAmount" property="discountAmount"/>
<result column="ActivityAmount" property="activityAmount"/>
<result column="USerPayAmount" property="userPayAmount"/>
<result column="NoDiscountAmount" property="noDiscountAmount"/>
<result column="CouponOfferMessagesJsonStr" property="couponOfferMessagesJsonStr"/>
<result column="Memo" property="memo"/>
<result column="SettleStatus" property="settleStatus"/>
<result column="SnapshotID" property="snapshotId"/>
<result column="IsOld" property="isOld"/>
<result column="AddTime" property="addTime"/>
<result column="UpdateTime" property="updateTime"/>
</resultMap> <sql id="sql_select">
SELECT
ID,
OrderID,
ShopID,
SerialNumber,
SchemeID,
OrderAddTime,
OrderUpdateTime,
OrderStatus,
TradeType,
SolutionID,
SnapshotID,
UniCashierOrderID,
OriginAmount,
DiscountAmount,
ActivityAmount,
USerPayAmount,
NoDiscountAmount,
CouponOfferMessagesJsonStr,
SettleStatus,
IsOld,
AddTime,
UpdateTime,
Memo
from TS_MopayActivityVoucher
</sql> <insert id="insertMopayActivityVoucherData">
INSERT INTO TS_MopayActivityVoucher
(OrderID,ShopID,SerialNumber,SchemeID,OrderAddTime,OrderUpdateTime,OrderStatus,TradeType,SolutionID,SnapshotID,UniCashierOrderID,
OriginAmount,DiscountAmount,ActivityAmount,USerPayAmount,NoDiscountAmount,
CouponOfferMessagesJsonStr,SettleStatus,IsOld,AddTime,UpdateTime,Memo)
VALUES (
#mopayActivityVoucherData.orderId#,
#mopayActivityVoucherData.shopId#,
#mopayActivityVoucherData.serialNumber#,
#mopayActivityVoucherData.schemeId#,
#mopayActivityVoucherData.orderAddTime#,
#mopayActivityVoucherData.orderUpdateTime#,
#mopayActivityVoucherData.orderStatus#,
#mopayActivityVoucherData.tradeType#,
#mopayActivityVoucherData.solutionId#,
#mopayActivityVoucherData.snapshotId#,
#mopayActivityVoucherData.uniCashierOrderId#,
#mopayActivityVoucherData.originAmount#,
#mopayActivityVoucherData.discountAmount#,
#mopayActivityVoucherData.activityAmount#,
#mopayActivityVoucherData.userPayAmount#,
#mopayActivityVoucherData.noDiscountAmount#,
#mopayActivityVoucherData.couponOfferMessagesJsonStr#,
#mopayActivityVoucherData.settleStatus#,
#mopayActivityVoucherData.isOld#,
now(),
now(),
#mopayActivityVoucherData.memo#
)
<selectKey resultClass="java.lang.Integer" keyProperty="Id">
<![CDATA[
SELECT @@IDENTITY AS Id
]]>
</selectKey>
</insert> <update id="updateVoucherSettleStatus" parameterClass="map">
update TS_MopayActivityVoucher
set SettleStatus = #settleStatus#
where ID = #id#
</update> <select id="queryVoucherByTimeAndStatus" parameterClass="map" resultClass="mopayActivityVoucherData">
<include refid="sql_select"/>
where AddTime &gt;= #beginTime# and AddTime &lt;= #endTime# and SettleStatus = #status#
</select> <select id="queryVoucherById" parameterClass="map" resultClass="mopayActivityVoucherData">
<include refid="sql_select"/>
where ID in
<iterate property="idList" open="(" close=")" conjunction=",">
#idList[]#
</iterate>
</select> <select id="loadByOrderIdAndTradeType" parameterClass="map" resultClass="mopayActivityVoucherData">
<include refid="sql_select"/>
where OrderId = #orderId#
and TradeType = #tradeType#
</select> <select id="queryVoucherByTimeAndStatusList" parameterClass="map" resultClass="mopayActivityVoucherData">
<include refid="sql_select"/>
where AddTime &gt;= #beginTime#
and AddTime &lt;= #endTime#
and SettleStatus in
<iterate property="statusList" open="(" close=")" conjunction=",">
#statusList[]#
</iterate>
</select>
<select id="queryVoucherByTimeAndStatusTradeType" parameterClass="map" resultClass="mopayActivityVoucherData">
<include refid="sql_select"/>
where
<![CDATA[AddTime >= #beginTime# and AddTime <= #endTime# ]]>
and SettleStatus = #status#
and TradeType = #tradeType#;
</select>
</sqlMap>

动态update

<update id="updateInfoSort" parameterClass="org.limojfip.domain.FipInfoSort">
update FIP_InfoSorts <dynamic prepend="set">
<isNotNull prepend="," property="isKey">
ISKey=#isKey#
</isNotNull>
<isNotNull prepend="," property="SName">
SName=#SName#
</isNotNull>
<isNotNull prepend="," property="description">
Description=#description#
</isNotNull>
<isNull prepend="," property="description">
Description=null
</isNull>
<isNotNull prepend="," property="parentKey">
ParentKey=#parentKey#
</isNotNull>
<isNull prepend="," property="parentKey">
ParentKey=null
</isNull>
</dynamic>
where SKey = #SKey# </update>

  

记录两张数据库表及Ibatis操作的更多相关文章

  1. 从两张Excel表所想到的

    从两张Excel表所想到的 前几日,客服妹子发过来几张表,让我给她做下匹配,然后做了,想了,便有了这篇博文,不由感慨,看似简简单单的两张Excel表其实藏着好多东西,记叙如下,与君共勉. 最初的需求: ...

  2. Activiti工作流学习笔记&lpar;三&rpar;——自动生成28张数据库表的底层原理分析

    原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...

  3. MySQL 两个数据库表中合并数据

    两个数据库表中合并数据 如果有  t1  和 t2 两个数据库表格,它们两个对应的字段是相同的.如何将 t2 的数据插入到t1中去呢? insert into t1 select * from t2 ...

  4. MySQL&lpar;三&rpar; 数据库表的查询操作【重要】

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  5. MySQL(2)数据库 表的查询操作

    来源参考https://www.cnblogs.com/whgk/p/6149009.html 跟着源博客敲一遍可以加深对数据库的理解,同时对其中一些代码做一些改变,可以验证自己的理解. 本文改动了其 ...

  6. mysql数据库表的查询操作-总结

    转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VA ...

  7. 最全MySQL数据库表的查询操作

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  8. Mysql多表查询(两张独立表,一张关系表)

    一.数据库设计 1.三个数据表长这样   其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系   2.具体数据如下   二.查询目标 查询出所有性别为“男”的 ...

  9. 两个数据库表同步的可视化WEB同步程序

    因业务升级,现有一个数据库中的表需要与先前项目中的表进行数据同步,停用先前的表,这两个表只能按其中相同的一个字段同步,认真研究了一下,用WEB程序进行了处理,可视化显示处理进度,同步操作结果.使用到的 ...

随机推荐

  1. 原生js添加和删除类

    原生js添加和删除类: this.className +=" "; this.className = this.className.replace(" 原来的类&quot ...

  2. 历代诗词咏宁夏注释1----常星景&colon;&lt&semi; 六盘&gt&semi;

    六盘 常星景 关中形势甲天下,四岳分峙西太华.[1] 中有汭泾经纬之,六盘嵚崎历历落.[2] □□□□其流亚,终年峰头雪不消. 弟畜太白兒美高,眼底培缕纷纷何足数,呼吸想通天尺五.[3] 西北堆镇一切 ...

  3. wdcp系统升级mysql5&period;7&period;11

    1.下载解压 下载地址为:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz ...

  4. Android进阶篇-时间滑动控件

    仿Iphone时间选择滑动控件: WheelView.java: /** * @author Administrator * * 时间滑动滚轮 */ public class WheelView ex ...

  5. VMWARE安装MAC时无法移动鼠标?

    1.先不要怀疑你的软件 2.查看你的硬件设置 3.什么?你把USB去除了? 4.给我加回来!!! 5.OK!鼠标可以移动了!

  6. ViewPager用法

    第一图:          页面中填充内容是随机关键词飞入和飞出动画效果,随后会更新,如今请先无视吧 ---2015-02-27--- 两年后最终更新了,网上都能搜到的,哎 无奈太懒http://bl ...

  7. Hadoop权威指南&colon; InputFormat&comma;RecordReader&comma;OutputFormat和RecordWriter

    InputFormat和RecordReader Hadoop提出了InputFormat的概念 org.apache.hadoop.mapreduce包里的InputFormat抽象类提供了如下列代 ...

  8. 我是如何自学 Python 的

    不少初学 Python 或者准备学习 Python 的小伙伴问我如何学习 Python.今天就说说我当时是怎么学习的. 缘起 我大学专业是电气工程,毕业后做的是自动化方面的工作.对于高级语言编程基本是 ...

  9. &dollar;Django 路飞学城项目简介

    - 基于极验实现动态验证码 - 在线视频播放:cc,HTML用的Flash - 基于Rest Framework实现 API接口 - 自定义rest认证token 认证 - 序列化以及自定义验证对请求 ...

  10. 关于java集合的一些操作

    1.数组转集合 java提供了一个方法:Arrays.asList(T... a)的方法. 测试: String[] arr = {"Lida","huanda&quot ...