LiuShuaiDong:Mybaits之insert的动态sql语句

一、实体类

@Data
public class User implements Serializable {

    private Integer id;
    private String loginName;
    private String userPassword;
    private String phone;
    private Integer idDeleted;
    private Integer role;
    private String picPath;
    private Date createtime;
}

二、表结构

三、sqlmapper.xml

<?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.lld.crowdfunding.mapper.UserMapper">

    <!--insert的动态sql 需要插入的字段-->
    <sql id="insert_column">
        <trim suffixOverrides=",">
            <if test="id !=null and id != ''">
                id,
            </if>
            <if test="loginName !=null and loginName != ''">
                loginName,
            </if>
            <if test="userPassword !=null and userPassword != ''">
                userPassword,
            </if>
            <if test="phone !=null and phone != ''">
                phone,
            </if>
            <if test="idDeleted !=null and idDeleted != ''">
                idDeleted,
            </if>
            <if test="role !=null and role != ''">
                role,
            </if>
            <if test="picPath !=null and picPath != ''">
                picPath,
            </if>
            <if test="createtime !=null and createtime != ''">
                createtime,
            </if>
        </trim>
    </sql>
    
    <!--insert的动态sql 插入的数据-->
    <sql id="insert_value">
        <trim suffixOverrides=",">
            <if test="id !=null and id != ''">
                #{id},
            </if>
            <if test="loginName !=null and loginName != ''">
                #{loginName},
            </if>
            <if test="userPassword !=null and userPassword != ''">
                #{userPassword},
            </if>
            <if test="phone !=null and phone != ''">
                #{phone},
            </if>
            <if test="idDeleted !=null and idDeleted != ''">
                #{idDeleted},
            </if>
            <if test="role !=null and role != ''">
                #{role},
            </if>
            <if test="picPath !=null and picPath != ''">
                #{picPath},
            </if>
            <if test="createtime !=null and createtime != ''">
                #{createtime},
            </if>
        </trim>
    </sql>

    <!--向数据库中动态的插入数据-->
    <insert id="saveUser" parameterType="User">
        insert into user(<include refid="insert_column"></include>)
        values(<include refid="insert_value"></include>)
    </insert>
</mapper>

四、最终实现

insert into user(????) values(?????),有选择的动态的插入数据 

在使用IDEA进行开发时,可以通过设置mybatis-plus的日志打印来实现打印SQL语句。首先,在mybatis-plus的配置文件中,将log-impl设置为org.apache.ibatis.logging.stdout.StdOutImpl。这样,mybatis-plus就会将SQL语句和查询结果都打印到控制台上。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [idea控制台如何打印sql](https://blog.csdn.net/weixin_50989637/article/details/130083532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [IDEA 控制台打印Mybaits SQL语句](https://blog.csdn.net/qq_41999004/article/details/120253127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [IDEA sql日志 Mybatis log插件](https://blog.csdn.net/qq_38321137/article/details/128221892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值