
数据库相关
文章平均质量分 80
明明如月学长
阿里巴巴 资深 Java 研发工程师。《系统掌握大语言模型提示词 - 从理论到实践》小册作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者、《性能优化方法论》技术电子书作者。热爱技术,喜欢思考,乐于分享。
展开
-
数据库逻辑设计之三大范式通俗理解
一、第一范式1NF是对属性的原子性,要求属性具有原子性,不可再分解;表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......如学生(学号,姓名,性别,出生年月日),如果认为最后一列还可以再分成(出生年,出生月,出生日),它就不是一范式了,否则就是;二、第二范式2NF是对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即不存在部分依赖;表:学号、课程号、姓名、学分;这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓.转载 2020-09-21 23:16:58 · 4419 阅读 · 1 评论 -
SpringBoot使用H2内存数据库单元测试的代码示例
一、背景单元测试是提高代码质量和保证代码正确性的重要保证。DAO的单元测试有常见的两种方案。【1】使用H2这类内存数据库进行单元测试。【2】使用MySQL数据库,测试后回滚。两种方案各有利弊,个人倾向于前者。网上有很多示例,都是很多案例没有给出可运行的项目源码,搭建过程中会遇到很多坑,本文文末会给出可运行源码,方便大家改造学习。二、利弊对比下面是自己的个人观点...原创 2019-08-31 02:39:09 · 11163 阅读 · 0 评论 -
MySQL聚簇索引和非聚簇索引的理解
关于聚簇索引和非聚簇索引的概念很多同学找了很多教程但是仍然很迷糊。这里给出一篇翻译,并给出我的配图,希望对大家理解有帮助。英文原文:http://www.mysqltutorial.org/mysql-index/mysql-clustered-index/一、聚簇索引的概念一般来说索引就是如B-树这类可以来存储键值方便快速查找的数据结构。聚簇索引是物理索引,数据表就是按...原创 2019-07-10 00:41:45 · 29105 阅读 · 8 评论 -
MySQL为啥用B+树作为数据的存储结构的连环炮
问:数据库中最常见的慢查询优化方式是什么?同学A:加索引。问:为什么加索引能优化慢查询?同学A:...不知道同学B:因为索引其实就是一种优化查询的数据结构,比如Mysql中的索引是用B+树实现的,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,所以能优化查询。问:你知道哪些数据结构可以提高查询速度?同学B:哈希表、完全平衡二叉树、B树、B+树等等。问:...转载 2019-05-12 00:09:37 · 1096 阅读 · 0 评论 -
MyBatis类型处理器注册器TypeHandlerReister
一、引言我们知道 mysql的类型和java类型有对应关系,参考此文:https://www.cnblogs.com/jerrylz/p/5814460.html。那么mybatis是怎么找到这种对应关系帮我们转换的呢?------------------下面一篇文章讲得很不错,直接摘录在这里-----------------原创作品,可以转载,但是请标注出处地址:ht...转载 2019-04-16 23:15:14 · 2100 阅读 · 0 评论 -
一篇文章吃透:为什么加载数据库驱动要用Class.forName()
1、Class.forName()和ClassLoader.loadClass()和new XX的区别Class.forName():将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static代码块。ClassLoader.loadClass():只会将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块...原创 2019-04-10 00:21:07 · 4629 阅读 · 1 评论 -
怎样在eclipse里安装Hibernate / JBoss 工具【最新】
原文:http://www.mkyong.com/hibernate/how-to-install-hibernate-tools-in-eclipse-ide/Hibernate工具,对于Java开发人员来说是一个来生成冗长乏味的Hibernate相关映射文件和注释的代码方便的工具。常见的用例是“逆向工程”功能来生成Hibernate模型类,hbm映射文件或注释代码从数据库表。翻译 2016-04-20 16:42:21 · 2358 阅读 · 0 评论 -
Jdbc操作数据库 改
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; //预处理方式public class preperSTest { public static void main(String[原创 2015-06-20 10:35:37 · 758 阅读 · 0 评论 -
Jdbc操作数据库 删
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; //预处理方式public class preperSTest { public static void main(String[原创 2015-06-20 10:35:39 · 662 阅读 · 0 评论 -
jdbc读写二进制文件
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;imp原创 2015-06-20 10:35:32 · 800 阅读 · 0 评论 -
Jdbc操作数据库 查
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; //预处理方式public class preperSTest { public static void main(String[原创 2015-06-20 10:35:34 · 724 阅读 · 0 评论