SpringBoot集成Groovy、Mybatis注解 实现动态SQL,帮你摆脱繁琐的XML配置

本文介绍了如何利用SpringBoot的简洁配置、Mybatis的注解以及Groovy来简化动态SQL的处理,避免了XML配置的繁琐。通过在DAO层使用Groovy文件作为Mapper,可以直接在类中编写SQL语句,实现动态SQL与接口方法的完美结合,从而提升代码的可读性和开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot的超简洁配置,为我们省去了宝贵的配置时间。

Mybatis3在这方面也提供了很好的支持,通过注解让我们摆脱了繁琐的mapper xml,写DAO层的时候再也不用在java接口和xml配置来回切换了,无疑提升了代码的可读性。

但很不幸,Mybatis3在复杂的动态SQL方面的支持,需要再写**Provider来构建SQL语句,这样的设计感觉有点顾此失彼,本来好端端的通过注解省去了xml配置,但是一遇到动态SQL,又得构建类来处理,让人又爱又恨。看看下面的代码:

package com.syj.test.mybatis;

import com.syj.test.thread.People;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.SelectProvider;
import java.util.List;

/**
 * Created by syj on 2019/2/3.
 */
@Mapper
public interface PeopleDAO {

    //使用UserDaoProvider类的findUserByName方法来生成sql
    @SelectProvider(type = UserDaoProvider.class, method = "findUserByName")
    List<People> findPeople(People people);

    class UserDaoProvider {
        public String findUserByName(People peo) {
            String sql = "SELECT * FROM user";
            if(peo.getName()!=null){
                sql += " where name = #{name}";
            }
            return sql;
   
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值