建表语句

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工作流学习笔记(三)——自动生成28张数据库表的底层原理分析

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

  3. Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)

    models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...

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

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

  5. MySQL(三) 数据库表的查询操作【重要】

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

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

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

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

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

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

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

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

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

随机推荐

  1. java,js,jstl,EL的简单交互

    EL全名Expression Language.EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能. 脚本编制元素是指页面中能够用于在JSP文件中嵌入java代码的元素. JSP标准标记库(j ...

  2. 【BZOJ-2438】杀人游戏 Tarjan + 缩点 + 概率

    2438: [中山市选2011]杀人游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1638  Solved: 433[Submit][Statu ...

  3. Codeforces Round #389 Div.2 C. Santa Claus and Robot

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  4. iOS 即时通讯SDK的集成,快速搭建自己的聊天系统

    现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的.所以学会灵活利用市面上的各种SDK是灰常重 ...

  5. ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open

    最近研究ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等 出现这个问题的原因可能是有另外一个程序 ...

  6. [Android]Unit Test for Android

    根据Android Developer文档,对Android的UT做个学习总结: 1. 搭建Eclipse测试环境. Eclipse的ADT(Android Developer Tools) 插件为我 ...

  7. python *args **kwargs

    简单来说,当你传入的参数不能确定是几个的时候会用到 *args和**kwargs,这里星号后边只是个代号,你写成a也可以. 而这两者的区别是 如果是键值对就要用后者,反之前者就可以. 同时还可以用(a ...

  8. Web Worker

    写在前面 众所周知,JavaScript是单线程的,JS和UI更新共享同一个进程的部分原因是它们之间互访频繁,但由于共享同一个进程也就会造成js代码在运行的时候用户点击界面元素而没有任何响应这样的情况 ...

  9. BZOJ1047: [HAOI2007]理想的正方形

    传送门 蛤省省选果然水啊,我这种蒟蒻都能一遍A. 横向纵向维护两个单调队列,做两次求最大和最小的,总复杂度$O(NM)$ 码农题,考察代码实现能力 //BZOJ 1047 //by Cydiater ...

  10. python 培训之 Python 数据类型

    0. 变量 计算机某块内存的标签,存储数据的容器的标签,可被覆盖. a = ""     a = "a1bcd"       a=a+"ddd&quo ...