Spring boot 学习六 spring 继承 mybatis (基于注解)

MyBatis提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建立动态语言和让MyBatis执行这些语言使用基于注解的mybatis的方法,还是比较好用的。

一 首先是定义mapper, @ SelectProvider去声明类(CitySqlProvide)和方法名(findByState), 

public interface CityMapper {

    @SelectProvider(type = CitySqlProvide.class, method = "findByState")
    List<City> findByState(@Param("state") String state);
}

 二  用String来构造查询语句时,是困难的,也是容易出错了。所以MyBatis提供了SQL公用方法构造方法不需要写出完整的String语句。让我们来看一下如何使用org.apache.ibatis.jdbc.SQL的公用方法。

import org.apache.ibatis.jdbc.SQL;
public class CitySqlProvide {
    public String findByState(String state) {
        return new SQL() {{
            this.SELECT("*").FROM("city").WHERE("state = #{state}");
        }}.toString();
    }
}

 

posted @ 2018-04-30 10:46  刘大飞  阅读(338)  评论(0编辑  收藏  举报