SpringBoot入门-20(springboot集成mybatis注解形式properties配置,利用@Provider实现动态SQL)

系列教程都是从网络上收集和本人的理解所编辑而成,仅供广大爱好者学习所用,请尊重本人的劳动成果。欢迎评论指正和转帖!(请保留连接谢谢!)



一、接上一个项目,变化地方如下(了解即可,不常用)

CatSqlProvider.java
package com.fs;

import org.apache.ibatis.jdbc.SQL;

public class CatSqlProvider {

    public String select(Cat cat) {
        StringBuffer sql = new StringBuffer("select * from cat where 1=1 ");

        if (cat.getCat_name() != null) {
            sql.append("and cat_name = #{cat_name}");
        } else if (cat.getCat_age() != 0) {
            sql.append("and cat_age = #{cat_age}");
        }

        return sql.toString();
    }

    public String select2(Cat cat) {
        return new SQL() {

            {
                SELECT("id,cat_name,cat_age");
                FROM("cat");
                if (cat.getCat_name() != null) {
                    WHERE("cat_name = #{cat_name}");
                } else if (cat.getCat_age() != 0) {
                    WHERE("cat_age = #{cat_age}");
                }
            }
        }.toString();
    }
}


CatMappper.java
    @SelectProvider(type = CatSqlProvider.class, method = "select")
    @Results({ @Result(property = "updateTime", column = "update_time") })
    public List<Cat> select(Cat cat);

    @SelectProvider(type = CatSqlProvider.class, method = "select2")
    @Results({ @Result(property = "updateTime", column = "update_time") })
    public List<Cat> select2(Cat cat);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值