数据库|SQL|Mybatis|Redis|Es|..
文章平均质量分 76
SQL和数据库知识点
非情剑
无情剑客非情剑
展开
-
Mybatis二级缓存
flushInterval:属性可以被设置为任意的正整数,设置的值应该是一个以毫秒为单位的合理时间量。1.在 mybatis-config.xml 的配置文件中进行显示配置,开启二级缓存(全局缓存)这时候需要在 mybatis-config.xml 的配置文件中手动添加开启设置。但为了代码的可读性,在团队开发中为了方便的告诉队员你使用了二级缓存,在要使用二级缓存的Mapper.xml文件中添加cache标签。在Mybatis的官方文档中可以看出已经默认开启了二级缓存。所有的数据都会先放在一级缓存中,原创 2024-02-27 10:53:56 · 690 阅读 · 0 评论 -
MySQL存储过程案例
【代码】mysql存储过程案例。原创 2024-02-02 11:51:34 · 95 阅读 · 0 评论 -
fastdep-datasource, boot工程同时连接多个数据库
1.导入依赖<dependency><!--集成多数据源,全局事务管理,Druid连接池,Mybatis,简化了多数据的复杂配置,只需引入依赖后在yaml文件中配置多数据源连接信息即可--> <groupId>com.louislivi.fastdep</groupId> <artifactId>fastdep-datasource</artifactId> <version>1.0.3</versi原创 2021-11-15 17:09:53 · 515 阅读 · 0 评论 -
Redis
获取LifeCycleAutoCall_1键的值(List类型)0下标代表第一个元素,-1代表最后一个元素。lrange LifeCycleAutoCall_1 0 -1获取LifeCycleAutoCall_1键的值(Hash类型)HGETALLLifeCycleAutoCall_1原创 2021-09-29 11:38:13 · 29 阅读 · 0 评论 -
sqlite知识点(脚本批量造数据等)
sqlite数据库相关知识点原创 2023-04-24 11:46:51 · 80 阅读 · 0 评论 -
com.github.pagehelper分页插件
1.pom.xml文件导com.github.pagehelper包2.controller层3. serviceImpl层4.返回给前端json格式{ "msg": "success", "code": 0, "data": { "total": 6, "list": [ { "ruleTypeId": 1, "brandId": "KFC", "name": "使用次数描述错误", ...原创 2021-07-06 11:38:05 · 299 阅读 · 0 评论 -
Mybatis笔记大全
1原创 2021-07-05 15:46:50 · 53 阅读 · 0 评论 -
经典SQL练习--查询成绩最好前两名等、删除表中重复记录、存储过程示例
#2.查询所有课程的成绩第2名到第3名的学生信息及该课程成绩-- 表纵向union合并:(SELECT * from (select a.*,b.c_id,b.s_score from student a left join score b on a.s_id=b.s_id) c where c_id=01 ORDER BY s_score DESC limit 1,2 )union ALL(SELECT * from (select a.*,b.c_id,b.s_score from stude.原创 2022-03-18 13:51:04 · 99 阅读 · 0 评论 -
Mysql分区、分表
1.range分区使用场景:需要保存历史数据时候;某一数据表数据量过大时可以根据时间字段进行分区;需要根据时间字段查询的需求;2.list分区原创 2022-04-20 11:39:36 · 42 阅读 · 0 评论 -
mysql会话变量group_concat_max_len的设置
系统变量(System Variable),由 MySQL 系统定义和维护的变量。系统变量可能包含全局值(全局变量)和会话值(会话变量),全局变量在服务器启动时通过命令行参数或者选项文件进行设置,在服务关闭时销毁;当客户端连接到服务器时,MySQL 会将大部分的全局变量复制一份作为客户端的会话变量,会话变量在连接断开时销毁。用户变量(User-Defined Variable),由用户自定义的变量,在连接会话期间有效,可以用于在不同 SQL 语句之间传递数据。局部变量(Local Variable.原创 2021-12-13 19:29:08 · 307 阅读 · 0 评论 -
SQL优化面试题30道 + MySQL面试宝典(尚硅谷)
调优原创 2022-06-16 10:20:39 · 517 阅读 · 0 评论 -
三大范式明解
第一范式(1NF):要求数据库表的每一列都是不可分割的原子数据项。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。举例说明:在上图所示的情况中,同一个订单中可能包含不同的产品,因此主键必须是“订单号”和“产品号”联合组成,但可以发现,产品数量、产品折扣、产品价格与“订单号”和“产品号”都相关,但是订单金额和订单时间仅与“订单号”相关,与“产品号”无关,这样就不满足第二范式的要求,调整如下,需分成两个表:第三范式(3NF):在.原创 2022-05-31 09:33:43 · 8 阅读 · 0 评论 -
Mysql 时间类型字段、外键相关
对于某些时间的计算,如果是以 datetime 的形式会比较困难,假如我是 1994-1-20 06:06:06 出生,现在的时间是 2016-10-1 20:04:50 ,那么要计算我活了多少秒钟用 datetime 还需要函数进行转换,但是 timestamp 直接相减就行。若想要使用外键约束,表必须是InnoDB引擎(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键,只会建立索引)你需要检查表的引擎类型。一般,需要建立外键的数据表称为子表,而相关联的数据表称为父表。.原创 2022-08-02 18:10:44 · 8 阅读 · 0 评论 -
Mysql在where条件中使用nvarchar类型的字段时,须加N;MySQL事务;等等..
EmployeeName数据库类型是nvarchar。 在mybatis中应该是不需要加的(这个是在navicat中操作的),如果匹配不到可以指定jdbcType=NVARCHAR 试试: select * from dbo.employee_excel where EmployeeType=#{employeeType} and EmployeeName=#{employeeName,jdbcType=NVARCHAR}ORDER BY LoadDate desc 不原创 2021-06-29 18:05:45 · 87 阅读 · 0 评论 -
批量插入失败 涉及联想 到两个问题
1、批量插入的问题/2、@Transactional事务 和 try-catch 以及 throws Exception 的关系问题原创 2021-06-08 14:13:11 · 44 阅读 · 0 评论 -
postgreSql
获取指定行的记录select * from(select *,row_number() over(order by alarm_record_id asc) as ORDERS from alarm_record) as m where ORDERS = 5原创 2021-06-18 10:37:28 · 57 阅读 · 0 评论 -
SqlServer
先说第二种方式:(效率比第一种方式较低)再说第一种方式:(效率比第二种方式较高)batchSize 是自定义的每页显示条数,假如是10000条,即batchSize=10000;index 是偏移量,第一页偏移量是0 * batchSize是0,第二页偏移量是1 * batchSize是10000,依次类推。...原创 2021-04-01 18:20:51 · 221 阅读 · 0 评论 -
Mysql查询表是否存在、创建表、查表所有列名、group_concat()函数合并列、[循环造数据]。等
查询表是否存在第1种:SLECT COUNT(1) FROM information_schema.tables WHERE table_schema='cmt' AND table_name = 'a_log'; #table_schema库名(使用这个sql需要有information_schema库的tables 表权限)第2种:SHOW tables like 'a_log';创建表CREATE TABLE if not exists a_log_copy_12...原创 2021-06-14 10:33:18 · 119 阅读 · 0 评论