本文主要是介绍mybatis include choose when if,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<?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.hundsun.cloudtrade.match.dao.IDayHoldDao"><sql id="insertIntoHoldSql">INSERT INTO tb_day_hold (firm_account ,seat_no ,stock_account ,exchange_type ,stock_name ,stock_code ,amount ,market_value ,position_str )VALUES (#{firm_account } ,#{seat_no } ,#{stock_account } ,#{exchange_type } ,#{stock_name } ,#{stock_code } ,<choose><when test="occur_amount != null and occur_amount != '' ">#{occur_amount } , </when><when test="amount != null and amount != '' ">#{amount } , </when><otherwise>0,</otherwise></choose>#{market_value } ,#{position_str } )</sql><insert id="addOrUpdateOne_addAmount" parameterType="com.hundsun.cloudtrade.match.domain.DayHoldDomain"><include refid="insertIntoHoldSql"></include><![CDATA[ON DUPLICATE KEY UPDATEamount = amount + VALUES(amount);]]></insert><insert id="addOrUpdateOne_amount" parameterType="com.hundsun.cloudtrade.match.domain.DayHoldDomain"><include refid="insertIntoHoldSql"></include><![CDATA[ON DUPLICATE KEY UPDATEamount = VALUES(amount) , seat_no = VALUES(seat_no);]]></insert><select id="qryMultiRecords"parameterType="com.hundsun.cloudtrade.match.dto.req.QryHoldReq"resultType="com.hundsun.cloudtrade.match.domain.DayHoldDomain">SELECT firm_account ,seat_no ,stock_account ,exchange_type ,stock_name ,stock_code ,amount ,market_value ,position_str <choose><!-- 查询历史持仓表 --><when test="hold_date != null and hold_date != '' ">,hold_date FROM tb_history_hold</when><!-- 查询当日持仓 --><otherwise>,'' hold_date FROM tb_day_hold</otherwise></choose>WHERE firm_account = #{firm_account}<if test="seat_no != null and seat_no != '' "> AND seat_no = #{seat_no} </if> <if test="exchange_type != null and exchange_type != '' "> AND exchange_type = #{exchange_type} </if> <if test="stock_account != null and stock_account != '' "> AND stock_account = #{stock_account} </if> <if test="position_str != null and position_str != '' "> AND position_str = #{position_str} </if> ORDER BY stock_code DESC<if test="req_number != null and req_number != '' "> LIMIT 0,#{req_number}</if>;</select><delete id="delMultiRecords" parameterType="com.hundsun.cloudtrade.match.dto.req.DelHoldsReq"><![CDATA[DELETE FROM tb_history_hold WHERE firm_account = #{firm_account};DELETE FROM tb_day_hold WHERE firm_account = #{firm_account};]]></delete></mapper>
数据源的配置:
jdbc.url=jdbc:mysql://10.20.135.32:8066/TESTDB?autoReconnect=true&allowMultiQueries=true
jdbc.username=root
jdbc.password=123456
jdbc.driverClass=com.mysql.jdbc.Driver
注意 allowMultiQueries=true 说明允许了多个 sql 语句的同时操作
这篇关于mybatis include choose when if的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!