首页 > 其他分享 >mybatis-plus

mybatis-plus

时间:2023-12-10 14:44:56浏览次数:41  
标签:sql HarmBehavorInfo plus rc mybatis new id sqlStr

查询:

        LambdaQueryWrapper<HarmBehavorInfo> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(HarmBehavorInfo::getOnlyId, dictId);
        wrapper.eq(HarmBehavorInfo::getDeleteFlag, 0);
        HarmBehavorInfo harmBehavorInfo = harmBehavorInfoMapper.selectOne(wrapper);
        
        Optional.ofNullable(harmBehavorInfo).orElseThrow(() -> new CustomException("500", "危害行为不存在!"));

查询:

       HarmBehavorInfo harmBehavorInfo = harmBehavorInfoMapper.selectOne(Wrappers.lambdaQuery(new HarmBehavorInfo())
                    .eq(HarmBehavorInfo::getOnlyId, e.getHarmBehavorId())
                    .eq(HarmBehavorInfo::getDeleteFlag, 0));
Optional.ofNullable(harmBehavorInfo).orElseThrow(() -> new CustomException("500", "危害行为元素不存在!"));

mapper自定义sql:涉及批量的需要script标签  简单的增删改查 直接写sql

    @Select("<script> "+
            "select project_id,vehicle_id,count(distinct harm_behavor_id) as homeCount " +
            "from harm_behavor_detail " +
            "where delete_flag = '0' " +
            "and project_id in " +
            "<foreach item='item' index='index' collection='projectIds' open='(' separator=',' close=')'>" +
            "#{item}" +
            "</foreach> " +
            "group by project_id,vehicle_id " +
            "</script>")
    List<HomeCountVO> getHomeCount(@Param("projectIds") List<String> projectIds);

分页查询--配置:

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisPlusConfig {
    /**
     * @Description 分页插件
     * @param
     * @exception
     * @return com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }


}

分页查询--使用:

// mapper
    @Select("select distinct rc.vehicle_id,rc.node_id,rc.project_idef.id as 'element_function_id' "+
    "from relational_component rc,system_info si, element_function ef "+
    "where rc.vehicle_id = #{vehicleId} " +
    "order by si.id asc,ef.id asc"
    )
    public IPage<Map<String, Object>> findHarmBehavorSystemFunc(Page page, String vehicleId);

//service
IPage<Map<String, Object>> list = harmBehavorSystemFuncMapper.findHarmBehavorSystemFunc(new Page(page, size), pageId);
if (ObjectUtils.isEmpty(list)){
    throw new CustomException(ApiResultType.QUERYRESULT_NULL);
}
List<Map<String, Object>> data = list.getRecords();

只需要传入Page参数,框架自动帮我们分页

 

 

mybatis-plus 执行sql  java代码中传递sql参数  long count = studentMapper.runSql("truncate table student");

@Mapper
public interface StudentMapper extends CommonMapper {

    /**
     * 执行更新sql
     *
     * @param sqlStr
     */
    @Select("${sqlStr}")
    Long runSql(@Param(value = "sqlStr") String sqlStr);

    /**
     * 执行
     * @return
     */
    @Select("${sqlStr}")
    List<Map<String, String>> runQuerySql(@Param(value = "sqlStr") String sqlStr);
}

 

标签:sql,HarmBehavorInfo,plus,rc,mybatis,new,id,sqlStr
From: https://www.cnblogs.com/xuchao0506/p/17491102.html

相关文章

  • WorkPlus即时通讯,让沟通零障碍!企业协作更高效
    如今,随着信息技术的快速发展,企业对于高效沟通和即时协作的需求也日益增长。在这个数字化时代,WorkPlus作为一款领先的企业级移动办公平台,以其强大的即时通讯功能和卓越的用户体验,成功为企业打造了高效沟通的新时代。【沟通便捷,WorkPlus即时通讯助力企业协作】WorkPlus提供了强大的即......
  • 企业级即时通讯系统的领跑者,WorkPlus引领沟通协作创新潮流
    在当今快速变化的商业环境中,高效沟通和协作对于企业的发展至关重要。传统的即时通讯系统往往面临着功能单一、安全性低、用户体验差等问题。然而,WorkPlus作为一款全新的即时通讯系统,重新定义了企业沟通协作的模式,打造了智慧办公的新时代。WorkPlus作为企业级即时通讯系统的领跑者,引......
  • CPlusPlus 断言知识点总结
    在C++中,断言(assertion)是一种用于在程序中诊断和调试错误的工具。断言是一个宏,通常用于检查程序运行时的条件是否为真。如果条件为假,断言将触发并终止程序的执行,通常伴随着错误消息的输出。断言的目的是在开发和调试阶段快速捕获和定位问题。C++中的断言主要通过<cassert>头文件......
  • Mybatis使用generator逆向工程生成器生成entity、mapper、.xml模版类
    前言今天将表建好了,但是一个一个的建实体类、Mapper接口、Mapper.xml文件就十分的麻烦,所以我就想到了MyBatis逆向,今天就操作一把!这里我们采用maven来进行操作。一、新建generatorConfig.xml文件首先建好表,在你的项目的resource文件中新建generatorConfig.xml文件。代码如下:<?xmlv......
  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第五章、JSP模板集成5.1引入JSP依赖<!--引入jsp解析依赖--><!--C标签库--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></depen......
  • Vue3基于elementPlus定制样式覆盖
    scss变量替换方案步骤:安装scsspnpmaddsass-D准备定制样式文件styles/element/index.scss/*只需要重写你需要的即可*/@forward'element-plus/theme-chalk/src/common/var.scss'with($colors:('primary':(//主色'base':#27ba9b,......
  • MyBatisX插件使用
    Idea的MyBatisX插件使用——代码生成器一、概述1.1功能描述:自动根据数据库生成以下对象domain:表对应的实体对象mapper:操作数据库的对象mapper.xml:定义了mapper对象和数据库的关联,可以在里面自己写SQLservice:包含常用的增删改查业务处理serviceImpl:具体实现serv......
  • WorkPlus企业数字化转型的超级APP,All in one完美解决方案
    当企业面临复杂的协同、业务和生态场景时,多个繁琐的应用和系统常常让员工头疼不已。然而,WorkPlus作为企业数字化转型的超级APP,以其一站式全能解决方案,为企业带来了颠覆性的便利与高效。本文将深入探讨WorkPlus的特点和优势,带您领略Allinone的数字化工作新体验。可点击WorkPlus了......
  • mybatis动态sql将字符串转换成数字类型报错
    报错信息org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException: ###Errorqueryingdatabase.Cause:java.lang.NumberFormatException:Forinputstring:"xxx" ###Cause:java.lang.NumberFo......
  • Spring源码系列:MyBatis整合和原理
    前言Mybatis是啥?Mybatis是一个支持普通SQL查询、存储过程以及映射的一个持久层半ORM框架。那么在了解Spring整合Mybatis这部分源码之前,我们先来看下Mybatis的实际运用。一.Mybatis的使用首先,项目的结构如下:pom依赖:<dependency><groupId>org.mybatis</groupId><artifactId......