记录两张数据库表及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.具体数据如下 二.查询目标 查询出所有性别为“男”的 ...
随机推荐
- htm.dropdownlist
@Html.DropDownList("status", new SelectList(new[] { "驳回", "确认", " ...
- js 通过身份证识别生日、年龄、性别
<script>function IdCard(UUserCard,num){ if(num==1){ //获取出生日期 birth=UUserCard.sub ...
- 【USACO 2.2】Subset Sums (DP)
N (1 <= N <= 39),问有多少种把1到N划分为两个集合的方法使得两个集合的和相等. 如果总和为奇数,那么就是0种划分方案.否则用dp做. dp[i][j]表示前 i 个数划分到 ...
- python模块介绍二。
全局变量 全局变量 python在一个.py文件内部自动添加了一些全局变量 print(vars()) #查看当前的全局变量 执行结果: {'__package__': None, '__loader ...
- FAILED java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:hdfs:192.*
运行的参数配置 hdfs:192.168.58.180/cf/userItem.txt 应该写成 hdfs://192.*
- 蓝牙(Bluetooth) IEEE 802.15.1 协议学习
catalogue . 蓝牙概念 . 配对和连接 . 机密安全性 . 蓝牙协议分类 . 蓝牙协议栈 1. 蓝牙概念 蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网 ...
- Nginx Parsing HTTP Package、header/post/files/args Sourcecode Analysis
catalog . Nginx源码结构 . HTTP Request Header解析流程 . HTTP Request Body解析流程 1. Nginx源码结构 . core:Nginx的核心源代 ...
- roundup配置
原因:我需要一个简单的issue tracker why roundup: python,简单 找了半天的文档,找不到文档,只能自己慢慢试,试到现在,可以打开tracker页面,用户注册的时候可以发邮 ...
- [iOS 利用MapKit和CoreLocation框架打造精简的定位和导航]
运行效果: 一.利用<CoreLocation/CoreLocation.h>定位 创建变量 CLLocationManager *locationManager , ...
- RabbitMQctl命令
RabbitMQControl RabbitMQ提供了可视化的网页供我们进行一些配置与操作,但是ctl的命令比UI来的专业的多,一些UI无法完成的操作就需要使用ctl命令来进行处理了 这里是官方的文档 ...