随笔分类 - 数据库

数据库
摘要:背景 关于Mybatis插件,大部分人都知道,也都使用过,但很多时候,我们仅仅是停留在表面上,知道Mybatis插件可以在DAO层进行拦截,如打印执行的SQL语句日志,做一些权限控制,分页等功能;但对其内部实现机制,涉及的软件设计模式,编程思想往往没有深入的理解。 本篇案例将帮助读者对Mybatis 阅读全文
posted @ 2019-03-09 00:02 风一样的码农 阅读(14143) 评论(5) 推荐(11) 编辑
摘要:业务扩展字段在PostgreSQL数据库中经常会使用json格式的数据来存储,然而mybatis默认是没有实现json类型字段对应的TypeHandler,所以一般我们需要自定义mybatis的TypeHandler。 如下是mybatis中json类型字段对应的TypeHandler的一个简单实现 阅读全文
posted @ 2018-05-03 20:38 风一样的码农 阅读(6660) 评论(0) 推荐(0) 编辑
摘要:业务扩展字段在数据库中经常会使用json格式的数据来存储,这就涉及到一个头疼的问题,假设要使用扩展字段里的某个值作为查询条件怎么办,原来PostgreSQL本身就支持这种查询方式。 例子:假设业务扩展字段ext_data存的json格式如下: 我们需要查询扩展字段中extInfo.userType= 阅读全文
posted @ 2018-05-03 17:17 风一样的码农 阅读(10821) 评论(0) 推荐(2) 编辑
摘要:前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式; MONITOR_TIME为数据库表字段; 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to_char(t.MONITOR_TIME, 'yyyy-mm-dd hh24:mi:ss') as 阅读全文
posted @ 2016-11-03 17:44 风一样的码农 阅读(5158) 评论(0) 推荐(0) 编辑
摘要:什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行; 开启事件 查看是否开启: 如果显示OFF,则输入以下语句开启: 提醒:虽然这里用set global event_scheduler = on语句开启了事 阅读全文
posted @ 2016-01-17 15:39 风一样的码农 阅读(38434) 评论(8) 推荐(5) 编辑
摘要:什么是函数 mysql中的函数与存储过程类似,都是一组SQL集; 与存储过程的区别 函数可以return值,存储过程不能直接return,但是有输出参数可以输出多个返回值; 函数可以嵌入到sql语句中使用,而存储过程不能; 函数一般用于实现较简单的有针对性的功能(如求绝对值、返回当前时间等),存储过 阅读全文
posted @ 2016-01-17 14:13 风一样的码农 阅读(2707) 评论(1) 推荐(2) 编辑
摘要:什么是存储过程 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用; 有哪些特性 有输入输出参数,可以声明变量,有if 阅读全文
posted @ 2016-01-17 00:32 风一样的码农 阅读(159522) 评论(12) 推荐(17) 编辑
摘要:什么是视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图的特性 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变); 可以跟基本表一样,进行增删改 阅读全文
posted @ 2016-01-15 16:33 风一样的码农 阅读(76424) 评论(13) 推荐(11) 编辑
摘要:什么是触发器 简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行; 特点及作用 特点:触发事件的操作和触发器里的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行; 作用:保证数据的完整性,起到约束的作用; 例子:创建触发器,记录 阅读全文
posted @ 2016-01-14 17:47 风一样的码农 阅读(2123) 评论(2) 推荐(4) 编辑