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(); } }
原文地址:https://www.cnblogs.com/liufei1983/p/8973123.html
时间: 2024-10-09 06:44:47