
数据库
文章平均质量分 55
大锅睿
起飞
展开
-
Flyway 入门教程
Flyway 是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。原创 2022-09-21 10:37:07 · 1617 阅读 · 0 评论 -
多表查询最值
今天处理业务的时候遇到一个问题,简单一点描述就是多表查询取最值的问题,我用一个类似的场景来重现这个问题:查询各个用户最近一次登录时间(使用的MySQL)这里给定两个表,t_user用户表以及t_login_log登录日志表,结构如下CREATE TABLE `t_user` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARS原创 2020-09-23 16:08:38 · 436 阅读 · 0 评论 -
MySQL查询出的时间与实际时间相差八小时
今天通过Navacat查询数据,但是发现时间格式的字段比实际的时间少了八个小时,查找了一些资料后发现只需要在配置文件中数据库的url加一个参数serverTimezone=GMT%2B8即可,这个参数表示设置数据库时间为东八区(北京)时间。url: jdbc:mysql://localhost:3306/cwr-article?useUnicode=true&characterEnc...原创 2020-03-27 16:59:37 · 4998 阅读 · 0 评论 -
Querydsl使用fetchCount()报错
最近发现在使用Querydsl fetchCount()的时候使用groupBy()会报错,经过多次测试后发现,如果使用fetchCount()之前使用了groupBy()并且有多个字段分组,如groupBy(qUser.name,qUser.gender) ,这种时候就会报错,但是如果只是按一个字段分组,groupBy(qUser.name)如则不会报错,不知道是框架的bug还是使用方法不对,至...原创 2020-01-21 15:07:49 · 2072 阅读 · 3 评论 -
MySQL分组查询前几条数据
分组查询是一个比较常见也稍微复杂一点的查询,比如查询每个班成绩最好的三名学生,每个部门工资最高的三个员工等等,今天就分享一下分组查询这样一个用法。一、准备工作首先上两张表,部门表和员工表。部门表DROP TABLE IF EXISTS `department`;CREATE TABLE `department` ( `id` int(10) NOT NULL AUTO_I...原创 2019-06-14 16:00:25 · 3155 阅读 · 1 评论 -
使用JdbcTemplate查询数据库(单个对象,列表等)
因为工作需要,所以学习一下JdbcTemplate的用法。JdbcTemplate的基本用法可以参考我之前的一篇博客 https://blog.youkuaiyun.com/cwr452829537/article/details/845629511、准备工作这里我们先准备一张用户表CREATE TABLE `t_user` ( `id` bigint(20) NOT NULL AUTO...原创 2018-12-11 16:06:44 · 34224 阅读 · 1 评论 -
使用Mybatis的PageHelper插件实现分页
分页查询是一个非常普遍的操作,记得最开始实现分页的时候还是自己在JS中保存两个全局变量,用来记录当前页数和每页记录条数,然后在SQL中动态得去拼装LIMIT语句(MySQL),这个实现过程没有任何的业务逻辑,也没有任何的难度,但是就是很麻烦,后来慢慢得接触到了一些分页的插件,让这一过程变得非常的方便,大大地增加了开发的效率,今天就说一说Mybatis的分页插件PageHelper的使用。首先说...原创 2018-11-28 10:12:55 · 440 阅读 · 0 评论 -
使用JdbcTemplate和RowMapper查询数据库
记得最开始学习使用数据库的时候都是使用底层的JDBC直接访问的,主要分成三个部分,通过数据库的配置信息(DRIVER,URL,USERNAME,PASSWORD)去获取数据库连接; 通过PreparedStatement执行SQL语句; 通过ResultSet接收查询结果。JdbcTemplate就是对JDBC的一种封装,使用起来更加的方便,但是JDBC的效率要比JdbcTemplate...原创 2018-11-27 14:08:11 · 4726 阅读 · 1 评论 -
SQL分组查询最值
有时候我们会遇到这样一种情况,比如说需要你查询每个班级中成绩最好的学生信息,这个时候我们就要用到分组查询。首先创建一个表t_class_user_score:CREATE TABLE t_class_user_score ( class_id int(4) NULL, -- 班级ID user_id int(4) NULL, -- 学号 name varcha...原创 2018-11-23 11:28:39 · 510 阅读 · 0 评论 -
如何使用LEFT JOIN实现多表查询
什么是LEFT JOIN请各位自行了解,废话不多说,先直接上三张表组织表(t_organization)部门表(t_department)用户表(t_user)逻辑是组织下面有部门,部门下面有用户,组织和部门通过organization_id字段关联,部门和用户通过department_id关联 实现以下几种查询1.两张表的查询:查询所有组织信息以及下属...原创 2018-08-01 15:50:03 · 104835 阅读 · 2 评论