一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后, ...
分类:
其他好文 时间:
2020-05-18 12:00:24
阅读次数:
54
SQL注入的本质 SQL注入的实质就是通过SQL拼接字符串追加命令,导致SQL的语义发生了变化。为什么发生了改变呢? 因为没有重用以前的执行计划,而是对注入后的SQL语句重新编译,然后重新执行了语法解析。 所以要保证SQL语义不变,(即想要表达SQL本身的语义,并不是注入后的语义)就必须保证执行计划 ...
分类:
数据库 时间:
2020-05-17 17:59:33
阅读次数:
103
1.nuget: 2、DbContext中加入一下语句: //输出到debug输出 public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new DebugLoggerProvider() }); ...
分类:
数据库 时间:
2020-05-17 16:05:56
阅读次数:
423
区别1 #{}:相当于JDBC Sql语句中的占位符?(PreparedStatement),可以防止Sql注入 ${}:相当于JDBC Sql语句中的连接符号+(Statement),不能防止Sql注入 区别2 #{}:进行输入映射的时候,会对参数进行类型解析(如果是String类型,那么Sql语 ...
分类:
其他好文 时间:
2020-05-16 20:32:15
阅读次数:
59
前言:系统对磁盘I/O操作是相对于cpu的处理来说如同蜗牛,但日常开发中,从磁盘读取文件或者持久化数据到本地却是必不可少的操作,执行sql语句,最终的结果操纵I/O,如果sql写了效率低下的sql语句或者设计很烂的表结构,程序运行速度就会大打折扣,所以要sql语句除了完成基本功能之外,优化是必不可少 ...
分类:
数据库 时间:
2020-05-16 12:24:38
阅读次数:
99
今偶遇这样一场景,两列都是日期时间类型,需要通过判断这两个日期的大小来取值。为了更好地说明这个流程,我们就假设去两列日期时间中较大者。那如何通过一条SQL语句搞定呢?此时,就需要借助IF-ELSE的思路了,请看示例代码: 通过上述语句就可以完成想要的结果了,若还有其它简洁方式,可以共享一下,谢谢。 ...
分类:
数据库 时间:
2020-05-16 00:43:25
阅读次数:
655
原文:C# 数据操作系列 - 6 EF Core 配置映射关系 0. 前言 在《C# 数据操作系列 - 5. EF Core 入门》篇中,我们简单的通过两个类演示了一下EF增删改查等功能。细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端倪。没看的小伙伴也不急,这就贴出来。 publi... ...
一,慢查询 1.1什么是慢查询:一个日志,记录着一个sql语句。如何定义慢查询,有一个阈值(long_query_time). 1.2如何在日志中定位慢查询语句:使用mysql自带工具 执行命令找出最慢的几条sql 下面为慢查询的sql语句 二,分析sql语句 2.1分析每个表的数据量 2.2常见优 ...
分类:
数据库 时间:
2020-05-16 00:29:17
阅读次数:
67
application.yml中加上 # springBoot+Mybatis 控制台打印SQL语句 (方式一) logging: level: com.zoctan.api.mapper : debug # 配置slq打印日志 (方式二) mybatis-plus: configuration: ...
分类:
数据库 时间:
2020-05-15 21:52:30
阅读次数:
172
经典的print_table学习 存储过程接受两个参数:SQL语句和日期,还使存储过程可以使用role 权限 create or replace procedure print_table(p_query in varchar2,p_date_fmt in varchar2 default 'DD- ...
分类:
数据库 时间:
2020-05-15 21:51:04
阅读次数:
96