漫画|你还记得原生的JDBC怎么连接数据库吗?
数据表的设计范式
在实际开发中最为常见的设计范式有三个:
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式;
第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中;
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
原生的JDBC怎么连接数据库?
大家可以在脑海中脑补一下这些步骤对应的代码,估计框架用习惯了,都有点忘记了吧
关系数据库中连接池的机制是什么?
关系数据库中的主键和外键有什么关系?
Oracle 端口号?MySQL端口号?
test1表中有ABC三列,用SQL语句实现:当A列大于B列时,选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
select
(CASE WHEN A>B THEN A ELSE B END) as A,
(CASE WHEN B>C THEN B ELSE C END) as B
from test1
Long类型怎么设计的表结构?Boolean类型怎么设计的表结构?
请介绍下触发器的原理
存储过程里的语句是一条条按顺序执行的吗?
如何解决SQL注入的问题
使用预编译对象PreparedStatement
请说说内连接和外连接的区别
#内连接
select * from student s,classes c where s.c_id = c.id
select * from student s INNER JOIN classes c on s.c_id = c.id
#外连接
#左外连接
select * from student s LEFT JOIN classes c on s.c_id = c.id
#右外连接
select * from student s RIGHT JOIN classes c on s.c_id = c.id
谈谈对数据库事务的理解?事务的边界应该放在哪一层?为什么?
举例:
客户A和客户B的银行账户金额都是10000元人民币,客户A需要把自己帐户中的5000元人民币转到客户B的账户上。
这个过程看似简单,实际上涉及了一系列的数据库操作,可以简单地视为两步基本操作,即从客户A帐户的金额中扣除5000元人民币,以及将客户B帐户中金额添加5000元人民币。
假设第1步数据库操作成功,而第二步失败的话,将导致整个操作失败,并且客户A帐户金额将被扣除5000元人民币。
事务机制可以避免此类情况,以保证整个操作的完成,如果某步操作出错,之前所作的数据库操作将全部失效。
谈谈事务的特性ACID
原子性(ATOMICITY):
事务是数据库的逻辑工作单位,事务中包含的各操作要么都完成,要么都不完成
一致性(CONSISTENCY):
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
隔离性(ISOLATION):
一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(DURABILITY):
指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。
谈谈事务的隔离级别
存储过程是什么?
存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快
用过哪些数据库连接池,为什么要用数据库连接池?
漫画|你还记得原生的JDBC怎么连接数据库吗?的更多相关文章
- 【编程之外】还记得曾经给'大学导师'写过的报告嘛 --> 前方高能
写在前面 本文不是讲技术的,也没什么代码可看 本文不是讲技术的,也没什么代码可看 本文不是讲技术的,也没什么代码可看 还记得我们曾经给我们大学''导师''写过的报告嘛? 大学他愿意在凌晨6点向你询问近 ...
- c#静态构造函数 与 构造函数 你是否还记得?
构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着.亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧. 静态构造函数是在构造函数方法前面添加了stat ...
- 《C#编程风格》还记得多少
开始实习之后,才发现自己是多么地菜.还有好多东西还要去学习. 公司很好,还可以帮你买书.有一天随口问了一下上司D,代码规范上面有什么要求.然后D在Amazon上面找到了这本书<C#编程风格(Th ...
- c#静态构造函数 与 构造函数 你是否还记得?(转载)
构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着.亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧.静态构造函数是在构造函数方法前面添加了stati ...
- 你还记得当初为什么进入IT行业吗?
说到这个问题,小编相信不少童鞋开始忆往昔峥嵘岁月,那个少年为了心中的改变世界的理想,进入了这个行业,但是呢,有一群人画风就不一样了,他们进入IT行业,完全只是是因为.... 小时候广告看多了....: ...
- 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射
使用Code First建模自引用关系笔记 原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...
- .NET成人礼 | 还记得20年前一起拖过的控件吗?
本文是MVP Ediwang写的回忆一个80后的拖控件的感悟,与君共勉: 每一代人都有记忆里的味道.煤球炉.黑白电视机是属于父母的记忆.而“拖控件”式编程,启蒙了无数像我这样的80后(嗯,89也算80 ...
- 【jdbc】连接数据库从浅入深
一.回想 还记得以前自学的时候,刚接触到数据库,讲解的连接数据库的最基本的理论知识和方法,现在温习一下基础知识并总结如下! 1.JDBC连接数据库的基本流程 加载JDBC驱动程序 —> 提供JD ...
- ipv6下jdbc的连接数据库方式
ipv6下jdbc的连接数据库方式 MySQL: ipv4 Driver URL: jdbc:mysql://127.0.0.1:3306/database ipv6 Driv ...
随机推荐
- List 接口中ArrayList Vector LinkedList 比较
访问权限Arryist最快 其次Vector 最慢LinkedList
- 跨域ajax问题
1. Intro 在用ajax请求时,请求的域名和所在域名不同,会出现跨域问题导致请求失败. 复杂请求: 条件: .请求方式:HEAD.GET.POST .请求头信息: Accept Accept-L ...
- Python-字典(dict)
字典是一种key-value的数据类型,字典里必须写Key和value: 字典的优点是取数方便和速度快. 字典的定义使用大括号{ },每个值用“,”隔开,key和value使用“:”分隔. value ...
- django创建上下文
在app中创建context_processes.py(可以是别的名字),然后加载到settings里,这样所有的网页都可以传入变量 from .models import User def app0 ...
- GCD on Blackboard
题目大意:给你n个数,然后在这n个数中选一个数,选中的这个数可以变成任意的数,使这n个数的gcd(最大公约数)最大.打印这个最大的gcd. 思路:这题一看貌似很复杂,其实这题只要你知道前缀和 和 ...
- myeclipise生成javadoc
1.点击项目,右键,选择export: 点击next: 点击next:VM options中输入-encoding UTF-8 -charset UTF-8
- DOMContentLoaded事件中使用异步
概述 我在之前的博文(Performance面板看js加载)中提到过,如果利用监听DOMContentLoaded事件的方式来加载js是不能优化加载的,不能够替代jquery中的ready方法,原因是 ...
- ie8兼容视频播放的探索(探索过程稍微有点长,时间紧迫和耐心稍微差一点点的小伙伴直接往下拉)
需求: 前几天接到一个需求,需要在网页中嵌入视频,并且要兼容ie8:然后我就开始了如下的探索...... 探索过程: 我先思考有什么方法可以在网页中嵌入视频,然后找到2种常用的方法——video标签和 ...
- Java学习笔记50(DBCP连接池)
实际开发中,连接数据库是十分消耗资源的操作,但是,我们又需要频繁地连接数据库 这时候,为了提高效率,这里就会采用连接池技术: 连接池地通俗理解: 一个池里面放入很多的连接,需要哪一个取出来用即可,用完 ...
- 学生管理系统(springMVC)
<Java Web编程>课程设计 ...