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

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

通常,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="...

1、MyBatis Generator 诞生背景虽然MyBatis是一个简单易学的框架,但是配置XML文件也是一件相当繁琐的一个过程,而且会出现很多不容易定位的错误。当在工作中需要生成大量对象的时候,有太多的重复劳动,简直是生无可恋。所以,官方开发了 MyBatis Generator。它只需要很少量的简单配置,就可以完成大量的表到Java对象的生成工...

FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。FastJson是Java程序员常用到的类库之一,正如其名,"快"是其主要卖点。据悉,从测试结果看,FastJson确实是最快的,比Jackson快20%左右。虽然FastJso...

1、databaseIdProvider 简介MyBatis可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。如果同时找到带有 databaseId 和不带 databaseId 的相...

1、Spring Boot与MyBatis融合的矛盾问题:Spring家族的使命就是为了简化而生,但是随着Spring的发展壮大,有点事与愿违了。为了坚持初心,Spring家族祭出了一大杀器---Spring Boot。Spring Boot的核心理念是:不建议使用xml文件配置。但是,这对MyBatis来说进退两难,因为MyBatis离不开xml,需...

1、MyBatis-Spring-Boot-Starter 简介MyBatis-Spring-Boot-Starter类似一个中间件,链接Spring Boot和MyBatis,构建基于Spring Boot的MyBatis应用程序。MyBatis-Spring-Boot-Starter 当前版本是 2.1.2,发布于2020年3月10日MyBatis...

在基础的 MyBatis 用法中,是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的,而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来创建。要创建工厂 bean,将下面的代码放到 Spring 的 XML 配置文件中:<bean id="...

MyBatis 3.5.4 发布于 2020年2月3日,其中最大的特点是:摒弃了繁琐的@Results和@ConstructorArgs注解。MyBatis官网的说明是这样的:You can now omit unnecessary @Results and @ConstructorArgs annotation. 看似轻描淡写的一句话,却是对程序员双...

在Java世界里,Jakarta项目犹如长城一般的存在,铸就了丰功伟业。不到长城非好汉。作为一名炎黄子孙,万里长城支撑起了每一个中国人的民族自豪感,早已固化为民族精神的象征。可以说,如果没有长城,中国两千多年的文明史就要改写,或许也就不会有今天的华夏文明。万里长城堪称人类历史上的奇迹,其实在软件世界里,也有类似的奇迹,这就是本文的主角:Jakarta。...

备注:本文修订于2020年6月6日1、浮点数和定点数的介绍:存储形式MySQL的数字数据类型分为四种:位数据类型、整数数据类型、定点数据类型和浮点数据类型。每种数字类型又分为多种常用的数据类型。本文主要讲述一下定点数据类型和浮点数据类型。对于带小数点的数据类型,MySQL分为两种方式:浮点数和定点数。浮点数包括 float(单精度)和 double(双...

1、引入问题近日有群成员提出一个问题:数据库是date类型,MyBatis传入timestamp类型参数,但是查询结果为 0 。如下所示: Preparing: select * from t_plan where begin_date = ? Parameters: 2018-06-15 00:00:00.0(Timestamp) Tot...

一、concat()函数功能:将多个字符串连接成一个字符串。语法1:concat(str1, str2,...)  返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。语法2:concat(str1, seperator,str2,seperator,...)返回结果为连接参数产生的字符串并且有分隔符,如果有任何一个参数为...

1、DISTINCT介绍:在表中,一个列可能会包含多个重复值,有时我们也许希望仅仅列出不同的值,此时可以使用DISTINCT关键词。DISTINCT关键词用于返回唯一不同的值。DISTINCT 语法如下所示:SELECT DISTINCT column_name FROM table_name;2、DISTINCT使用注意事项:distinct 语句中...