Mybatis检测mysql表是否存在

医疗检测数据存储管理系统(JSP+java+springmvc+mysql+MyBatis) 随着医疗技术的发展和医疗设备的普及,医疗检测数据呈现出爆炸式增长。这样的系统可以实现数据的高效存储、快速检索、安全共享和隐私保护,提高医疗服务的效率和质量。同时,信息技术的应用也可以使系统的维护和升级更加便捷。其他版本理论上也可以。用户发送请求:用户通过浏览器或其他客户端向系统发送请求,请求访问特定的页面或执行特定的操作。前端展示结果:前端接收到后端返回的数据,根据需要进行展示。数据返回给前端:后端程序处理完业务逻辑后,将结果数据返回给前端。后端程序接收到请求后,根据请求的类型和参数进行相应的处理。 阅读详情

原文1
原文2

1、优先使用information_schema来检查,如果没有查询这个的权限则使用show tables来检查。

mapper:

package com.chenp.demo.dao;

import java.util.Map;
import org.apache.ibatis.annotations.Param;
 
/**
 * 通用的mapper
 * @author cp218
 * @data 2022/12/9 15:57
 *
 */
public interface CommonMapper {
	
    /**
     * 使用information_schema检查表是否存在
     * @param tableSchema
     * @param tableName
     * @return
     */
    Integer checkTableExistsWithSchema(@Param("tableSchema")String tableSchema, @Param("tableName")String tableName);
 
    /**
     * 使用show tables检查表是否存在
     * @param tableName
     * @return
     */
    Map<String, String> checkTableExistsWithShow(@Param("tableName")String tableName);
}

xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chenp.demo.mapper.CommonMapper">

    <select id="checkTableExistsWithSchema"
        resultType="java.lang.Integer">
        SELECT 
        	COUNT(1) 
        FROM information_schema.tables 
        WHERE
        	table_schema = #{tableSchema} 
        	AND table_name = #{tableName}
    </select>
 
    <select id="checkTableExistsWithShow"
        resultType="java.util.Map">
        show tables like #{tableName}
    </select>
    
</mapper>

通用service:

package com.chenp.demo.service;
 
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.yangzhilong.mapper.CommonMapper;
 
import lombok.extern.slf4j.Slf4j;
 
@Service
@Slf4j
public class CommonService {
	
    private static final String TABLE_SCHEMA = "cp_user";
    @Autowired
    private CommonMapper commonMapper;
 
    /**
     * 检查表是否存在
     * @param tableName
     * @return
     */
    public boolean checkTableExists(String tableName) {
        try {
            Integer count = commonMapper.checkTableExistsWithSchema(TABLE_SCHEMA, tableName);
            return count == 1;
        } catch (Exception e) {
            log.error("使用information_schema检测表失败", e);
            Map<String, String> list = commonMapper.checkTableExistsWithShow(tableName);
            if(!CollectionUtils.isEmpty(list)) {
                return true;
            }
        }
 
        return false;
    }
}
舆情检测系统(JSP+java+springmvc+mysql+MyBatis) 在信息时代,公众意见的形成和传播速度极快,对个人、企业乃至政府的形象和决策都产生了深远影响。因此,实时监控网络空间的舆论动态,对于及时发现和处理负面信息、引导正面舆论、维护社会稳定和组织声誉具有重要意义。+ Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。用户发送请求:用户通过浏览器或其他客户端向系统发送请求,请求访问特定的页面或执行特定的操作。这包括数据的处理、计算、验证等操作。后端程序接收到请求后,根据请求的类型和参数进行相应的处理。 阅读详情

相关推荐

mybatis中查询mysql库表是否存在

mybatis中查询mysql库表是否存在

java之书-资源 224

Mybatis判断表是否存在

数据库:mysql

u012632105的博客 7590

【MyBatis笔记13】使用MyBatis判断数据表是否存在的两种方法(MySQL数据库)

这篇文章,主要介绍使用MyBatis判断数据表是否存在的两种方法(MySQL数据库),【information_schema.TABLES】是会将所有的数据库、数据表都查询出来,假设有两个数据库,那么就会将这个两个数据库中的所有数据表信息都返回。返回的数据表信息中,常见的字段信息有:

✅ Java 开发工程师 3690

mybatis如何判断表是否存在

废话不多说直接上代码。

PPX、小布的博客 1085

利用MybatisPlus来实现对表的水平分表,全自动,可以首先判断表是否存在,不存在创建表

利用MybatisPlus来实现对表的水平分表,全自动,可以首先判断表是否存在,不存在创建表,然后设计有定时任务,可以每个月月末的时候,去创建下一个分表程序

GEE进行Theil-Sen Median斜率估计和Mann-Kendall检验

Python实现Theil-Sen Median斜率估计和Mann-Kendall检验// 定义时间范围//NDVI图像集合// 定义每年的开始和结束日期// 加载NDVI数据集,按日期过滤,并计算最大值.max()}));// 计算Sen斜率并剪裁// 可视化Sen斜率Map.addLayer(senSlope.select('slope'), vis, "Sen斜率 ");// MK检验// 创建一个列表,包含年度NDVI图像的list。

qq_44894692的博客 964

mybatis检测mysql表是否存在

1、优先使用information_schema来检查,如果没有查询这个的权限则使用showtables来检查。 mapper: import java.util.Map; import org.apache.ibatis.annotations.Param; /** * 通用的mapper * @author yangzl * @data 2019年4月8日 ...

weixin_30730151的博客 2625

ChatBI告别“NL2SQL依赖症”!从准确率50%到90%,3大技术路线+4个企业案例拆解核心玩法

摘要: ChatBI通过自然语言交互实现数据民主化,其核心是“语义理解+数据执行+知识沉淀”的全链路能力,而非单一的NL2SQL技术。行业采用三大技术路线提升准确率:专有知识库(提升30%)、指标标签语义层(准确率85%)、JSON中间层(多轮对话提升25%)。数据执行方案包括NL2SQL、NL2API等,需结合场景选择。企业落地需解决四大痛点:跨表查询准确率低(引入拓扑图)、模糊查询(用户干预机制)、响应慢(预计算缓存)、多轮对话(上下文池)。Spring AI Alibaba提供轻量级集成方案,助力企业

weixin_52610848的博客 1652

基于SpringBoot+微信小程序的医院核酸检测服务系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

基于SpringBoot+微信小程序的医院核酸检测服务系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】,拿走直接用(附源码,数据库,视频,可提供说明文档(通过*AIGC*)*技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

麦田上的预备码农 1033

PLSQL Developer新手必看:如何避免安装过程中的常见坑

本文为PL/SQL Developer新手提供了详尽的安装与配置避坑指南。从版本选择、注册码使用、汉化包安装到Oracle客户端连接配置,逐一解析常见问题并提供解决方案,帮助开发者快速搭建稳定的PL/SQL开发环境,顺利开启Oracle数据库编程工作。

g9h0i1的博客 649

数字芯片后端设计实战:Memory Compiler参数配置与SRAM生成优化

本文深入解析数字芯片后端设计中Memory Compiler的核心参数配置与SRAM生成优化策略。详细探讨了容量结构、频率设定、工艺角选择等关键参数的配置要点与常见误区,并提供了从.lib/.lef文件转换到后端流程整合的实战指南,旨在帮助设计者生成面积、性能和功耗更优的存储单元。

weixin_29194255的博客 701

mysql 检测表锁定情况

1、查看当前有没有被锁的表:     show status like 'table%';  2、查看当前被锁的表:     show processlist; 3、停止锁定:      kill Id;   (Id为show processlist 查询出来的Id) 有关对表加锁的介绍:http://blog.youkuaiyun.com/sunhuaquan/arti

jiangqingqingqing的专栏 910

DeepSeek提示词实战:从零到百的AI角色扮演指南(附100+场景模板)

本文提供了一份详尽的DeepSeek提示词实战指南,重点讲解AI角色扮演的核心技巧。通过“角色扮演四要素法”和五大核心场景模板,帮助用户从零开始掌握如何设计高质量提示词,有效提升AI输出的深度与精度,并附赠100+实用场景模板供参考。

weixin_29305337的博客 579

前后端分离医院核酸检测服务系统系统|SpringBoot+微信小程序+MyBatis+MySQL完整源码+部署教程

开源免费分享前后端分离医院核酸检测服务系统系统|SpringBoot+微信小程序+MyBatis+MySQL完整源码+部署教程可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

yydYYDD的博客 566

Unity 数字孪生实战:PiXYZ Plugin工业模型高效处理指南

本文是Unity数字孪生实战指南,重点介绍了如何使用PiXYZ Plugin高效处理工业CAD模型。针对工业模型导入Unity时面临的格式壁垒、数据爆炸和资产混乱等核心痛点,文章提供了从环境安装、基础导入到智能减面、资产清理的完整解决方案,并分享了预设自动化、运行时导入等高级技巧与性能优化策略,帮助开发者快速打通工业设计与实时交互流程。

weixin_29009501的博客 255

STK新手必看:用700km轨道卫星,5步搞定对地覆盖分析报告

本文为STK新手提供700km轨道卫星对地覆盖分析的5步实操指南,涵盖卫星创建、传感器配置、区域定义、计算设置及报告生成全流程,特别标注常见操作误区与优化技巧,帮助用户快速掌握STK覆盖性分析核心方法。

weixin_42546392的博客 374

Java Web 医院核酸检测服务系统系统源码-SpringBoot2+微信小程序+MyBatis+MySQL8【含文档】

开源免费分享Java Web 医院核酸检测服务系统系统源码-SpringBoot2+微信小程序+MyBatis+MySQL8【含文档】可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

a1694619497的博客 894

实验手册(灾难恢复)

我们发现DC1与DC2的复制出现问题,此时我们检查了在DC2中,DC1是否被正确注册。这里选择还原系统状态,因为我们原DC1上只备份了AD的数据,所以我们在新的这台服务器上还原的也是AD数据库。因为我们是单域下的测试,只测试了一个域,所以它会出现这样的报错。我们选择远程共享文件夹,我们备份的时候,是在备份这台服务器上的。同时删除SRV记录,A记录,NS记录,SOA记录,框框里面的所有有关dc1的记录全部删除。如果在企业中AD数据的备份是每周或者每月都会有一次备份,选择恢复AD数据库的时间。

weixin_52364868的博客 1309

前后端分离襄阳四方汽车检测站管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

开源免费分享前后端分离襄阳四方汽车检测站管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程可提供说明文档 可以通过*AIGC**技术包括:MySQL、VueJS、ElementUI、(Python或者Java或者.NET)等等*功能如图所示。可以滴我获取详细的视频介绍

a1694619497的博客 945

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

社区核酸检测统计系统(JSP+java+springmvc+mysql+MyBatis)

这种系统可以有效地提高社区对居民核酸检测情况的管理和统计分析效率,减少人为错误,提高服务质量。同时,信息技术的使用也使得系统的开发和维护变得更加简单和高效。+ Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。用户发送请求:用户通过浏览器或其他客户端向系统发送请求,请求访问特定的页面或执行特定的操作。前端展示结果:前端接收到后端返回的数据,根据需要进行展示。可以是渲染页面、显示提示信息等。后端程序接收到请求后,根据请求的类型和参数进行相应的处理。

sryue01的博客 866

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Mysql-- 批量插入(检测重复)返回ID

mysql数据库,不存在则插入,存在则不做任何操作,单条插入和批量插入

wdquan19851029的专栏 3758

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: mybatis-plus使用sum,count,distinct等函数的方法
下一篇: 【java】根据文件URL在后台设置response的文件流,在前端直接显示或者下载
默 唁
博客等级 码龄7年 77粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值