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);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章