Mybatis SelectProvider 入门使用

之前用Mybatis的时候,我都是把SQL语句写在.XML文件里,后来会把简单的SQL写在注解里,后来发现XML好烦,能直接用Java写就太好了,但是单纯的注解用来写SQL语句是不够的,所以今天就记下关于SelectProvider的用法

@SelectProvider 有2个必备的参数,type,指定生成SQL的Class类型,method指定生成相对应SQL的方法名

关于SelectProvider使用Mapper接口参数是它的一个重点,写几个小例子

@SelectProvider(type=XXX.class,method="xxx")
XXX selectById(int id)
如果想在SelectProvider方法中获取到Id参数,那么直接在XXX方法里指明参数类型即可。

但是如果你传入多个参数,比如XXX selectById(int id1,int id2,int id3),超过1个参数,你在XXX方法中指明就会报错啦

这个时候需要给XXX方法传入一个参数Map map,那么如何获取id1,id2,id3呢,这里3个参数,你就分别从map里get 3个key分别为param1 param2 param3的value就是对应的id1,id2,id3了,当然 你可以在SelectById中使用注解@Param,为每个参数指定一个别名,那么你就可以在map中获取该别名key所对应的value了

那么如何在XXX方法中使用一些简单的API生成格式化的SQL呢

那么可以从 SQL 这个类入手啦

比如

SQL sql = new SQL(){{

 SELECT(XXX);

FROM(XXX);

WHERE(XXX);

ORDER_BY(XXX);

GROUP_BY(XXX);

}};

return sql.toString();

这里就方法格式化好的SQL啦。

溜了溜了~~~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值