spring boot 与mybatis整合 采用注解方式进行拼接sql

spring boot 与mybatis 整合 首先先引入依赖 去maven 中央仓库查找mybatis依赖

 <!-- 引入mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

在application.yml写入连接数据库信息  type可以更改数据源配置 我这里采用的是 druid

采用注解开发 由与spring boot 底层自动配置已经配置好了一些基本配置 所以我们只需要创建一个接口来作为mapper并且加上注解@Mapper

import com.nice.straydogweb.bean.Color;
import com.nice.straydogweb.bean.Shape;
import com.nice.straydogweb.bean.Type;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
@Mapper
public interface SelectMapper {

    @Select("select * from color")
    List<Color> getColor();
    }

经过以上配置我们可以使用mybatis了 

采用注解形式进行sql拼接需要一个和特定注解

查询sql拼接 采用 @SelectProvider 如下

//查询已经和未领养的总条数 搜索
    @SelectProvider(type = SelectSql.class,method = "searchDogsCount")//通过类来反射sql语句
    Integer getYeSeTotaily(@Param("color") String color,@Param("type") String type,
                           @Param("shape") String shape,@Param("sex") String sex,@Param("flag") Integer flag);

SelectSql是一个进行拼接sql的类 后面是方法  如下

package com.nice.straydogweb.mapper;

import java.util.Map;

/**
 * 用来拼接sql语句
 */

public class SelectSql {


    public String searchDogsCount(Map<String,Object> map){
        String color= (String) map.get("color");
        String type= (String) map.get("type");
        String sex= (String) map.get("sex");
        String shape= (String) map.get("shape");
        Integer flag= (Integer) map.get("flag");
        String sql="select count(id) from dogs where 1=1";
        if(!color.equals(" ")){
            sql+=" and  color like '%"+color+"%'";
        }
        if(!type.equals(" ")){
            sql+=" and  type like '%"+type+"%'";
        }
        if(!sex.equals(" ")){
            sql+=" and  sex like '%"+sex+"%'";
        }
        if(!shape.equals(" ")){
            sql+=" and  shape like '%"+shape+"%'";
        }
        if(flag==2){
            //已经领养的
            sql+=" and state='2' ";
        }else{
            //未领养的
            sql+=" and state='1' ";
        }
        //sql+=" and state='1' ";
        System.err.println("Sql 语句 是"+sql);
        return sql;
    }
}
那个类的作用将生成拼接的sql返回回去 ,其中可以使用map进行参数传递。








  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot Mybatis管理系统是一种基于Spring BootMybatis框架的管理系统,可以快速搭建一个具有基本功能的Web应用程序。它提供了许多便捷的功能,如自动配置、快速开发、易于扩展等,使得开发人员可以更加专注于业务逻辑的实现。同时,它还提供了许多插件和工具,如Mybatis Generator、Mybatis PageHelper等,使得开发人员可以更加方便地进行开发和维护。 ### 回答2: Spring Boot是一个用于构建Java应用程序的开源框架,它简化了开发流程并提供了许多开箱即用的功能。MyBatis是一个持久层框架,可以与Spring Boot无缝集成,用于与数据库进行交互。 使用Spring Boot来管理系统的好处是可以快速搭建项目的基础架构,提高开发效率。Spring Boot提供了自动配置的特性,只需简单的配置即可集成MyBatis,并且可以根据不同的需求选择使用不同的数据库类型。 使用MyBatis可以方便地编写SQL语句并进行数据库操作。MyBatis支持动态SQL,可以根据不同的条件拼接SQL语句,提高了查询的灵活性。同时,MyBatis还提供了对象关系映射(ORM)功能,可以将数据库中的数据映射为Java对象,方便进行操作和管理。 通过整合Spring BootMyBatis,我们可以在项目中轻松进行数据库操作。可以使用注解或XML文件配置MyBatis的Mapper接口,并在Service中调用这些接口进行数据库操作。这样,我们可以很方便地实现增删改查等功能,并且可以使用事务管理器来确保数据的一致性和完整性。 另外,Spring BootMyBatis的配合还能够提供更多的功能和便利。例如,可以使用Spring Boot的自动装配功能快速集成其他的组件,如数据库连接池、缓存、消息队列等,进一步增强系统的性能和功能。此外,Spring BootMyBatis也提供了丰富的社区支持和文档,方便开发人员学习和解决问题。 总之,通过使用Spring BootMyBatis来管理系统,我们可以快速构建可靠的应用程序,并且具备良好的可扩展性和可维护性。 ### 回答3: Spring Boot是一个用于开发Java应用程序的开源框架,它简化了Java应用程序的开发和部署过程。MyBatis是一个轻量级的ORM框架,用于简化Java应用程序与关系型数据库的交互。 Spring Boot集成了MyBatis框架,使得管理系统的开发更加简单和高效。通过Spring Boot的自动配置和快速启动能力,我们可以快速搭建一个基于MyBatis的管理系统。 在使用Spring Boot集成MyBatis时,我们首先需要配置数据库连接信息,包括数据库的URL、用户名和密码等。然后,通过mybatis-spring-boot-starter依赖将MyBatisSpring Boot进行集成。这样,我们就可以使用MyBatis提供的注解和XML配置来定义数据访问接口和SQL语句。 使用Spring BootMyBatis可以实现管理系统的数据访问层和业务逻辑层的分离,提高了系统的可维护性和可扩展性。我们可以使用MyBatis注解和XML配置来定义各种操作数据库的接口和SQL语句,并通过Spring Boot的依赖注入机制将其注入到业务逻辑层中使用。 同时,Spring Boot还提供了一些开发工具和插件,例如Spring Boot DevTools和MyBatis Generator等,用于简化开发过程和提高开发效率。 总之,通过Spring Boot集成MyBatis,我们可以快速搭建一个高效、可扩展的管理系统,并且可以使用MyBatis提供的各种特性和功能来简化数据库操作和提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值