生成MyBatis批量插入时,无数据插入,有数据更新的on duplicate key update语句
> on duplicate key update 语句根据主键id或唯一键来判断当前插入是否已存在。 > > 记录已存在时,只会更新on duplicate key update之后指定的字段。 > > `我们在编码时这部分可能需要自己写,当然有的生成工具可能已经生成好了,字段太多的话,自己写起来很烦,以下我写了一个生成这部分代码的工具类。` ...
51工具盒子
> on duplicate key update 语句根据主键id或唯一键来判断当前插入是否已存在。 > > 记录已存在时,只会更新on duplicate key update之后指定的字段。 > > `我们在编码时这部分可能需要自己写,当然有的生成工具可能已经生成好了,字段太多的话,自己写起来很烦,以下我写了一个生成这部分代码的工具类。` ...
<h1>快速入门程序</h1> <p>官网:<a href="https://mybatis.plus/">MyBatis-Plus</a></p> <p>maven配置如下依赖文件:</p> <pre><code class="lan...
<p>嗨,你好呀,我是<strong>猿java</strong></p> <p>MyBatis 是一款优秀的持久层框架,它通过简化 JDBC操作和提供灵活的 SQL映射方式,使 Java 开发人员能够更高效地进行数据库操作。那么,MyBatis的执行原理是什么?这篇文章我们将深入地分析。</p> <...
<h1>前言</h1> <p>今天在进行业务开发的简单的搜索功能的时候,需要用到Like语句。</p> <p>这里我使用的是Mybatis注解开发。</p> <p>关于mysql模糊查询,请看我之前的文章:<a href="https://51tbox.com/">...
<p>在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。</p> <p>外键的使用条件:</p> <ol> <li> <p>两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);</p> </li>...
<p>众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。</p> <p>首先,看下建表DDL,这是一个没有显式自增主键的InnoDB表:</p> <pre>&l...
<p>Linux下Mysql自动修复数据表的脚本</p> <pre><code class="language-lang-bash">#!/bin/bash #This script used by repair tables mysql_host=localhost mysql_user=root mysql...
<p>对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引:</p> <p>尝试下面的技巧以避免优化器错选了表扫描:<br /> · 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。<br /> · 对扫描的表使用FORCE INDEX告知MySQ...
<p>Mysql5.7+版本</p> <p>Enhanced Multi-Threaded Slave配置</p> <pre><code># slave slave-parallel-type=LOGICAL_CLOCK slave-parallel-workers=16 master_info_repos...
<p>mysql 5.7 yum 安装配置</p> <pre><code>[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' # 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件 valida...