数据库
文章平均质量分 59
程序员beige
专注java领域技术分享,包括分布式,中间件,微服务,架构设计等,感谢各位关注,有技术问题可以交流交流哦
展开
-
为什么建议主键整型自增?
我们从查找过程可以看到,整个过程关键点就是在这棵树上不停的比较id值是否等于、大于还是小于2,即数据的大小比较。数据比较是消耗CPU的,而不同的数据类型耗时不同,常见的整型要小于字符型。整型的1原创 2022-11-06 15:56:31 · 666 阅读 · 0 评论 -
mysql查询每个用户最新的一条订单
这样查询其实有问题,如用户有两个订单id分别为1、2,第一个创建时间是2022-9-6 10:49:07,第二个创建时间是2022-9-6 13:49:18,此时查询结果是【create_time:2022-9-6 13:49:18 id:1】。所以采用子查询加表连接的方式,前提是表连接后每个用户的查询的结果是唯一的。根据自身业务可以调整子查询的查询结果列,我这里是按最新的create_time,如果id是自增的也可以用max(id),响应调整表连接的条件即可。原创 2022-09-06 13:54:40 · 4156 阅读 · 0 评论 -
SQLserver新增字段及注释
SQLserver对已有表添加新的列并给列添加注释:-- 添加字段alter table 表名 add 字段名 type null default null;-- 加注释EXEC sp_addextendedproperty'MS_Description', N'注释','SCHEMA', N'数据库名','TABLE', N'表名','COLUMN', N'字段名'GO...原创 2021-09-13 12:56:36 · 4349 阅读 · 1 评论 -
...jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server问题原因之一
开发需求时反复启动Tomcat,某次在idea中启动时突然报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection去网上百度,很多都是说版本问题,我没有换connectors的版本,也没用拉别人提交的代码,突然就报错了。我尝试修改驱动的版本,也是不行,重新编译,清理缓存,删除target都是不行。搞了两个小时还不是OK,于是我就想着把项目打成war包,放到Tom原创 2021-08-03 15:40:26 · 3792 阅读 · 0 评论 -
java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exce
java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception:com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections.mysql数据库连接时报错,翻译过来就是:由于底层异常,无法加载连接类:c.原创 2021-04-22 17:12:01 · 8307 阅读 · 2 评论 -
浅析动态切换数据源的原理(接上篇)
首发于公众号编程大道上一篇我们实现了多数据源动态切换的功能,这次我们来看一下是如何实现的。没看过上一篇的点击这里我们在DynamicDataSourceConfig中配置了所有数据源信息,并存在一个map中因为我们的DynamicDataSource继承了AbstractRoutingDataSource抽象类,AbstractRoutingDataSource中有几个重要的属性在这里我们用到了@NullableprivateMap<Object,...原创 2020-11-05 17:37:21 · 685 阅读 · 1 评论 -
常见SQL优化方案、建议
转自:https://blog.csdn.net/jie_liang/article/details/77340905便于记录,在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from转载 2020-11-04 09:42:37 · 308 阅读 · 0 评论 -
项目要实现多数据源动态切换,咋搞?
文章首发于公众号:编程大道在做项目的时候,几乎都会用到数据库,很多时候就只连一个数据库,但是有时候我们需要一个项目操作多个数据库,不同的业务功能产生的数据存到不同的数据库,那怎么来实现数据源的动态、灵活的切换呢?今天我们就来实现这个功能。前期准备工作我们需要有一台联网的电脑(用于maven自动下载依赖),并且电脑安装JDK 8、IDEA、MySQL数据库、maven,首先创建一个springboot项目(SSM也行)。springboot版本和SSM版本的代码都已经放到码云托管。感兴趣的可.原创 2020-10-19 12:46:56 · 1066 阅读 · 4 评论 -
mybatis在mysql的innoDB下批量插入无效
我们的批量插入的SQL:<!-- 批量插入 --><insert id="saveUsers" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> insert into user (name,email,phone,sex) values <foreach collection="list" separator="," item="item"> (#{item.name},#{i原创 2020-05-24 18:35:26 · 1021 阅读 · 0 评论 -
MySQL数据去重--distinct的使用
一般情况下,我们会用distinct去除查询的到结果的重复记录,但是distinct只能返回它的目标字段,而无法返回其它字段。下面先来看看例子: tableid name 1 a 2 b 3 c 4 c 5 b select distinct name from table得到的结果是: name...转载 2017-07-16 10:35:27 · 3560 阅读 · 0 评论 -
mybatis+Tomcat使用JNDI配置数据源
我自己做了一个练手的项目,项目已经基本完成,但是项目开始用的是jdbc配置数据源,一切都没有问题,后来我想把它改成用jndi配置数据源。下面是我改造时查了很多资料后整理的学习笔记,自己试过了没问题。仅供参考,可能每个人的情况不一样。依赖的环境:Windows,java编辑器,Tomcat,web项目(spring+mybatis+MySQL)具体操作步骤如下:1、配置全局的jndi在Tom...原创 2018-11-20 20:13:35 · 5750 阅读 · 0 评论 -
mybatis中 include 的用法及跨xml映射文件复用sql片段
mybatis xml 文件中对于重复出现的sql 片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下:<sql id="someSQL"> id,name</sql><select id="selectSome" > select <include refid="someSQL"/>...原创 2019-05-07 11:10:05 · 9145 阅读 · 1 评论 -
Oracle数据库rownum用法集锦
Oracle中rownum可以用来限制查询具体用法:返回查询集合中的第1条select * from table where rownum = 1返回查询集合中的第2条:select * from table where rownum = 2这样写是错误的,返回是空,应该这样:select * from(select a.*,ROWNUM rownum_ from table a...原创 2019-05-07 10:39:49 · 1846 阅读 · 0 评论