1、MyBatis的参数映射配置MyBatis的参数映射利用的属性是:parameterType。这个属性是可选的,因为 MyBatis 可以通过类型处理器(TypeHandler)推断出具体传入语句的参数。2、简单类型,不需要设置 parameterType对于大多数简单的使用场景,你都不需要使用复杂的参数,比如:<select id=&quo...

很久之前,在芬兰有一个研发数据库的公司,名叫Innobase。公司开发了一款数据库产品InnoDB。这是一个完整的数据库,功能非常的完备。开发出来之后,创始人是想将这个数据库卖掉的,但是没有找到买家。后来,另外一个芬兰技术大牛,跑到瑞典创立了数据库公司MySQL。MySQL的理念是开源和共享。MySQL从设计之初,存储引擎就是可插拔的,允许公司或者个人...

备注:本文更新于2020年6月18日前言本文是对 SQL CASE WHEN 用法的深度解析,重新理解case when then else end用法。在SQL的世界中CASE WHEN语句相当于if-else语句。虽然看似简单,但是CASE WHEN并不容易掌握,CASE的用法分为两种形式:简单CASE函数和CASE条件表达式函数。简单CASE函数...

前言传统模式下,开发和运维会有比较清晰的边界,开发人员负责服务运行稳定,运维人员负责服务运行的基础设施稳定。而进入到云原生时代,特别是容器化和 Service Mesh 落地之后,服务框架、服务治理、灰度发布等稳定性密切相关的能力都作为基础设施下沉了,开发和运维的边界开始变得模糊。所以,企业 IT 人员的职责也应该相应的进行重新划分,也就是说开发人员也...

很多时候新增一条数据,仅仅知道操作结果(新增成功)是远远不够的,更多的时候需要这条新增数据的主键,以便下文使用。通常的办法是:先新增,后将其查询出来,这在MySQL中有专门的函数可以获取到:SELECT LAST_INSERT_ID(),顾名思义,此函数的目的是获取最后插入的自增ID。mybatis中通过一些设置可以将insert的数据的主键返回,直接...

在MySQL的数据类型中,Tinyint的取值范围分两种情况:带符号的范围是-128到127,无符号的范围是0到255。Tinyint占用1字节的存储空间,即8位。那么Tinyint的取值范围怎么来的呢?我们先看无符号的情况。无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0。无符号的最大值即全部8bi...

1、SQL 介绍SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。SQL里面一切皆集合。SQL以关系代数为基础发展出来的一门语言,关系代数主要是"集合。SQL语句形式:select .... from ....。集合在SQL当中的表现形式:每一个select语句都是一个集合,写在from后面的每个表、子查询、视图可以算作一个集合。SQL功能...

Mybatis 本质就是一个sql映射器,主要映射两部分东西:方法入参和返回结果。Mybatis中提供了两个常用的内置参数:_parameter和_databaseId。前者主要用于方法参数映射,后者主要用于配置开关的作用。mybatis的内置参数_parameter保存了对应传入的对象:<insert id="insertUser&q...

1、什么是SQL注入?SQL是一种解释型语言。如果 Web 应用程序构建 SQL 语句的方法不安全,就很可能会受到 SQL 注入攻击。严重时,攻击者可利用该方法修改数据库里的所有信息,甚至控制运行数据库的服务器。因此 Web 应用程序很容易因为SQL注入而被入侵。所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,...

导读:万事洞明皆学问,软件的版本号里面也有学问,所以祭出了《一文读懂MyBatis的版本号格式:major.minor.patch》,欢迎大家品读。说到“版本号”,不仅用于表示软件的版本,还可以用作数据库的并发控制,这就是本文所要讲述的主要问题。欢迎各位读者驻足鉴赏。1、并发的控制策略:控制并发采用的策略通常分为乐观锁和悲观锁。乐观锁的定义:顾名思义,...

1、Serverless必将引发学习革命由于IT领域的特点是“知识密集+问题密集”,知识繁多,技术更新很快,平时在上手练习的会遇到各种各样的问题,所以很多人把“解决问题”当做提升自我的关键途径。实际上,很多人把解决问题当做了提升自我的方式,这种思想大错特错。在工作中,很多情况下,我们碰到的问题都是工程类型的问题,例如:软件版本兼容问题,类库引用问题,配...

通常,MyBatis的版本号分为三部分,即major.minor.patch,例如官方发布声明:本文给大家介绍一下major.minor.patch这三部分分别表示的含义。1、majormajor表示当前MyBatis的主版本号,它的变化通常意味着MyBatis的巨大的变化,MyBatis的前世是ibatis,是在3.0版本发布之后才更名的,之前一直叫...

1、时间精度的分类时间精度是根据各个用户所要求对时间的度量作出的分类,是用来进行计量的一种方式方法。时间精度按量级可分为:纳秒(ns)、皮秒(ps)、微秒(us)、毫秒(ms)、秒(s)、分(min)、小时(h)。2、Java中四个时间类的精度java.util.Date 日期格式为:年月日时分秒 java.sql.Date 日期格式为:年月日java...

1、MyBatis的参数映射和字段映射的区别MyBatis的参数映射不同于字段映射,参数映射中的"参数"是指传入SQL语句的参数,而字段映射指的是将JDBC ResultSets数据映射成JavaBean。MyBatis的真正强大在于它的参数映射和字段映射,如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyB...

在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉MyBatis到哪里去找映射文件。我们可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 file:/// 形式的 URL),或类名和包名等。例如:使用相对于类路径的资源引用<mappers> <mapper resource="...