记录两张数据库表及Ibatis操作
建表语句
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 >= #beginTime# and AddTime <= #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 >= #beginTime#
and AddTime <= #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操作的更多相关文章
- 从两张Excel表所想到的
从两张Excel表所想到的 前几日,客服妹子发过来几张表,让我给她做下匹配,然后做了,想了,便有了这篇博文,不由感慨,看似简简单单的两张Excel表其实藏着好多东西,记叙如下,与君共勉. 最初的需求: ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
- Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)
models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...
- MySQL 两个数据库表中合并数据
两个数据库表中合并数据 如果有 t1 和 t2 两个数据库表格,它们两个对应的字段是相同的.如何将 t2 的数据插入到t1中去呢? insert into t1 select * from t2 ...
- MySQL(三) 数据库表的查询操作【重要】
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- MySQL(2)数据库 表的查询操作
来源参考https://www.cnblogs.com/whgk/p/6149009.html 跟着源博客敲一遍可以加深对数据库的理解,同时对其中一些代码做一些改变,可以验证自己的理解. 本文改动了其 ...
- mysql数据库表的查询操作-总结
转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VA ...
- 最全MySQL数据库表的查询操作
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- Mysql多表查询(两张独立表,一张关系表)
一.数据库设计 1.三个数据表长这样 其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系 2.具体数据如下 二.查询目标 查询出所有性别为“男”的 ...
随机推荐
- vmware安装ubuntu卡在install vm-tools
vmware,安装ubuntu或者centos,都有这个问题:vmware自作聪明,提示说"快速安装",然后会使用一个autoinst.iso文件来快速安装,并且装完系统后该重启了 ...
- 【bzoj1497】 NOI2006—最大获利
http://www.lydsy.com/JudgeOnline/problem.php?id=1497 (题目链接) 题意 给出一个图,每一个点有一个负点权,每一条边有一个边权.选择某一条边的前提是 ...
- 使用reids结合wcf实现集群模式下的聊天室功能
1.reids的特点 Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型(字符串,哈希,列表,集合,有序集合),. Redis可以将数据复 ...
- SVN中(trunk tags branches)的使用理解
trunk--主干(永远都是最新的,每发布一个版本会在tags和branches上进行分支) tags-标签(只读,用于存放发布后的文件冻结,以及对应发布后版本的源文件:可以是来自主干或者分支的发布: ...
- POJ3154 Graveyard
Graveyard Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1654 Accepted: 840 Specia ...
- UDP打洞、P2P组网方式研究
catalogue . NAT概念 . P2P概念 . UDP打洞 . P2P DEMO . ZeroNet P2P 1. NAT概念 在STUN协议中,根据内部终端的地址(LocalIP:Local ...
- 应用服务器Glassfish任意文件读取漏洞
catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...
- Windows Directory ACL Security Check By ACL Baseline
catalog . Windows NTFS ACL(MAC) Permission . How the System Uses ACLs . 服务器不安全ACL配置带来的攻击向量 . NTFS AC ...
- 数据结构算法C语言实现(八)--- 3.2栈的应用举例:迷宫求解与表达式求值
一.简介 迷宫求解:类似图的DFS.具体的算法思路可以参考书上的50.51页,不过书上只说了粗略的算法,实现起来还是有很多细节需要注意.大多数只是给了个抽象的名字,甚至参数类型,返回值也没说的很清楚, ...
- JS 复制对象
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...