自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 24.JDBC的事务控制

事务简介事务(Transaction):数据库中保证交易可靠的机制JDBC支持数据库中的事务概念,本质还是在数据库中实现的,默认是自动提交的事务特性ACID:原子性(Atomicity):事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态隔离性(Isolation):...

2019-10-18 14:21:34 137

原创 23.PreparedStatement

执行计划PreparedStatementStatement主要用于执行静态SQL语句,即内容固定不变的SQL语句Statement每执行一次都要对传入不同的SQL语句编译一次(编译为执行计划),效率较差某些情况下,SQL语句只是其中的参数有所不同,其余子句完全相同,适用于PreparedStatement,它能重用执行计划更重要的是它能预防sql注入攻击Prep...

2019-10-17 12:26:44 122

原创 22.连接池的使用

连接池技术数据库连接的建立及关闭资源消耗巨大传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开、关闭该物理连接,系统性能严重受损解决方案:数据库连接池( Connection Pool)系统初始运行时,主动建立足够的连接,组成一个池,每次应用程序请求数据库连接时,无需重新打开连接,而是从池中取出已有的连接,使用完成后,不再关闭,而是归还在并发访...

2019-10-17 12:24:26 121

原创 21.JDBC的封装

封装数据库链接在软件中数据库连接使用非常平凡,如果每次都创建链接,就会造成代码的大量冗余解决这一问题,常规的做法是建立数据库连接工具,封装数据库连接过程,统一数据库连接过程,使用时候就可以简化代码封装第一版public class DBUtils { public static Connection getConnection() { try { ...

2019-10-17 12:23:26 87

原创 20.JDBC的基本使用

JDBC使用步骤:在程序中导入想要连接的数据库的驱动包,由数据库厂商提供加载驱动:Class.forName(“对应的数据库驱动类名”),如:oracle.jdbc.OracleDriver加载驱动类后,其static块内代码被执行,会创建一个自身的实例,然后将实例交给DriverManager管理建立连接:Connection conn = DriverManager.g...

2019-10-17 12:22:38 75

原创 19.JDBC基本概念

JDBCJava Database Connectivity:Java访问数据库的解决方案用相同的方式访问不同的数据库,以实现与具体数据库无关的Java操作界面底层实现的方式是使用Socket(TCP协议)去连接数据库,实现通讯JDBC 定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口而实现这些接口的类被称为“驱动”...

2019-10-17 12:20:50 142

原创 18.表-约束

约束(CONSTRAINT)全称是约束条件,也称作完整性约束条件约束是在数据表上强行执行的一些数据校验规则,如果存在违反规则的数据行为,行为会被约束终止约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)添加约束的完整语法:字段 CONSTRAINT 约束名 约束类型也可以使用简写:字段 约束类型...

2019-10-17 11:37:17 111

原创 17.数据库对象:索引

数据库对象:索引(INDEX)例如:select * from table1 where id=10000数据库在执行时,遍历整个了表,直到ID等于10000的这一行被找到为止当有了索引后,我们可以通过它快速的定位到ID等于10000的这一行索引是一种可以提高查询效率的一种结构,不同的数据库,对这种结构的设计是不同的数据库索引好比是一本书前面的目录,通过目录我们可...

2019-10-17 11:36:45 181

原创 16.数据库对象:序列

数据库对象:序列(SEQUENCE)序列是一种用来生成唯一数字值的数据库对象序列的值有Oracle程序按递增或递减顺序自动生成,序列的值是不能回退的,除非该序列设置可重复利用序列是独立的数据库对象,和表是同级别的,序列并不依附于表通常情况下,一个序列为一个表提供主键值,但一个序列也可以为多个表提供主键值命名通常以’seq’开头,如:seq_emp_id创建序列...

2019-10-17 11:36:12 310

原创 15.数据库对象:视图

数据库对象:视图(VIEW)VIEW 也被称作虚表,即虚拟的表,是一组数据的逻辑显示视图对应于一条SELECT语句,结果集被赋予一个名字,即视图名字,SELECT语句对应的表被称为基表视图本身并不包含数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化使用视图的目的是简化SQL语句的复杂度,重用子查询,限制数据访问授权创建视图创建视图...

2019-10-17 11:35:39 601

原创 14.高级查询-查询函数

DECODE函数语法:DECODE(expr,serch1,result1,serch1,result2…,default)DECODE用于比较参数expr的值,如果匹配到哪一个search条件,就返回对应的result结果可以有多组search和result的对应关系,如果任何一个search条件都没有匹配到,则返回最后的default的值default参数是可选的,如果...

2019-10-17 11:34:32 86

原创 13-高级DQL-分页查询

分页查询不同的数据库对于分页查询的SQL语句是不同的,没有一个标准它指的是:当查询表中的数据时分段查询出来,而不是一次性将所有数据查询出来有时查询的数据量非常庞大,这会导致系统资源消耗大,响应速度长,数据冗余严重为此当遇到这种情况时一般使用分页查询解决Oracle中分页查询是基于伪列(ROWNUM)实现的Oracle提供了一个特殊的列:伪列(ROWNUM),...

2019-10-17 08:13:06 71

原创 12.高级DQL-子查询

子查询在SELECT查询中,WHERE查询条件中的限制条件不是一个确定的值,而是来自于另外一个查询的结果为了给查询提供数据而首先执行的查询语句叫做子查询,子查询嵌入的语句称作主查询或父查询子查询是嵌入在其他SQL语句中的SELECT语句,大部分时候出现在WHERE子句中主查询可以是SELECT语句,也可以是其他类型的语句比如DML或DDL语句主查询是DQL语句常...

2019-10-17 08:12:30 126

原创 11.基本DQL-关联查询

关联查询概念:从多张表中查询对应的记录信息,关联查询的重点在于这些表中的记录的对应关系,这个关系也被称为连接条件当两张表有同名字段时,SELECT子句中必须明确指定该字段来自于哪张表,在关联查询中,表名也可以添加别名,这样可以简化SELECT语句的复杂度关联查询要添加连接条件,否则会产生笛卡尔积笛卡尔集通常是一个无意义的结果集,它的记录是所有参与查询的表的记录数乘积的结果,要...

2019-10-17 08:11:54 92

原创 10.基本DQL

DQL基本语法:SELECT 字段1,字段2… FROM 表名 WHERE 查询条件 其他子句其他子句:就是后面所讲的排序、聚合函数等使用别名在SQL语句中可以通过使用列的别名改变标题的显示样式,或者表示计算结果的含义使用语法是列的别名跟在列名后,可以加或不加一个“AS”关键字如果希望别名中区分大小写字符,或者别名中包含字符或空格,别名则必须用双引号引起来...

2019-10-15 12:01:10 76

原创 9.:表:NULL值

NULLNULL,即空值有时候表中的某些字段值,数据未知或暂时不存在,取值为NULL任何数据类型均可取值NULLNULL的操作:插入NULL值CREATE TABLE student(id NUMBER(4),name CAHR(20), gender CHAR(1));显式插入,指定字段为NULL值如:INSERT INTO student VALUES(...

2019-10-15 12:00:15 155

原创 8.表:日期类型

日期类型DATE:表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日DATE类型在数据库中的存储固定为7个字节,格式为:第1个字节:世纪+100第2个字节:年第3个字节:月第4个字节:天第5个字节:小时+1第6个字节:分+1第7个字节:秒+1TIMESTAMP:与DATE的区别是不仅可以保存日期和时间,还能保...

2019-10-15 11:59:39 277

原创 7.表:数值

数值类型:NUMBER完整语法:NUMBER(p,s)如果没有设置s,则默认取值0,即NUMBER§表示整数p:NUMBER可以存储的最大数字长度,取值1-38(不包括左右两边的0)s:在小数点右边的最大数字长度(包括左侧0)指定了s但是没有指定p,则P默认是为38,如:列名 NUMBER(*,s)数值函数:ROUND(n,m)用于四舍五入参数中的n...

2019-10-15 11:59:03 119

原创 6.表:字符串

字符串类型CHAR和VARCHAR类型,表示字符串数据类型,用来在表中存放字符串信息CHAR存放定长字符,即存不满补空格,VARCHAR存放变长字符,存多少占用多少CHAR和VARCHAR的存储编码:默认单位是字节,可指定为字符CHAR(10),等价于CHAR(10 BYTE)指定单位为字符:CHAR(10 CHAR),5-10个字符,20个字节VARCH...

2019-10-15 11:58:31 94

原创 5.基础DQL

DQL:表SELECT语句,用于查询表中数据语法:SELECT 字段1,字段2… FROM 表名 WHERE 查询条件;查询条件可以不指定,那么就将指定字段的所有数据显示出来,后面会详细介绍特殊的一种查询:全列查询语法:SELECT * FROM 表名将表中所有数据都显示出来SELECT语句可以使用表达式:+、-、 *、 /演示:基本DQL...

2019-10-15 11:57:59 67

原创 4.表-DML

DML:表对表的DML操作包括:插入数据,删除数据,修改数据DML操作和事务相关,执行完后需要经过事务控制语句(DCL)提交后才真正将改变应用到数据库中插入数据语法:INSERT INTO 表名(字段名) VALUES(值);向表中指定的字段插入对应的值,字段和值要一一对应,且符合字段的数据类型字段的顺序可以随意指定有种特殊的插入:全列插入语法:IN...

2019-10-15 11:57:28 62

原创 3.表-DDL

创建数据库对象:表(TABLE)语法:CREATE TABLE 表名(字段列表);可以不指定字段列表,那么创建出来的表只有名字,结构和数据都没有字段列表:字段名 + 数据类型 + 限制条件 + 默认值其中字段和数据类型必须指定删除数据库对象:表建表之后,如果该表已经没有用处,则应该删除该表语法:DROP TABLE 表名修改数据库对象:表修改指...

2019-10-15 11:56:42 170 1

原创 2.数据库对象:表

数据库对象:Table一个关系数据库由多个表(Table)组成, 数据表是关系数据库的基本存储结构表是二维的,有行和列组成表的行(Row)是横排数据,也被称为记录(Record)表的列(Column)是纵列数据,也被称为字段(Field)表和表之间存在关联关系Oracle提供了一个特殊的表:伪表(DUAL),这张表其实是不存在的,使用它仅仅是为使SQL语句满足语...

2019-10-15 11:56:13 372

原创 1.数据库的基本概念

DB和DBMS数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库数据库管理系统(Database Management System,简称DBMS)是管理数据库的软件我们平常说“数据库”,指的是数据库管理系统Oracle与Mysql(自己的理解)Oracle大型数据库,学习免费,开发收费,Mysql中小型数据库,开源免费Oracle创...

2019-10-15 11:55:00 119

原创 常用API-Reflect

反射是 Java API,是Java提供的现成的类!是Java提供的动态执行机制,动态加载类,动态创建对象,动态访问属性,动态调用方法!静态与动态静态:事先约定的规则,执行期间按照固定规则执行。动态:事先没有约定,在执行期间动态确定执行规则。Java中静态执行:编译已经确定执行规则(执行次序),在运行期间按照编译结果顺序执行。Foo foo = new Foo...

2019-08-24 16:46:22 115

原创 Java基础-内存管理

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。对于整个JavaWeb所需知识,我只是更新比较重要的一部分,基础部分可以按照Web开发路线图进行学习。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。最后创作不易,请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂...

2019-08-08 19:59:20 147

原创 Java基础-内部类

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。对于整个JavaWeb所需知识,我只是更新比较重要的一部分,基础部分可以按照Web开发路线图进行学习。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。最后创作不易,请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂...

2019-08-08 19:55:41 95

原创 面向对象-继承

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。对于整个JavaWeb所需知识,我只是更新比较重要的一部分,基础部分可以按照Web开发路线图进行学习。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。最后创作不易,请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂...

2019-08-08 19:49:42 112

原创 面向对象-访问控制

package作用:避免类的命名冲突;包名可以有层次结构;项目中,建议包名为:域名反写 . 项目名称 . 模块名称 . 类名;建议:包名小写;类的完全限定名为:包名 . 类名;import访问一个类时需要使用该类的全称,此方式过于繁琐;可以通过import语句对类的全称进行声明:import 类的全局限定名(包名+类名);通过import语句...

2019-08-08 19:45:08 200

原创 Java基础-流程控制

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。对于整个JavaWeb所需知识,我只是更新比较重要的一部分,基础部分可以按照Web开发路线图进行学习。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。最后创作不易,请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂...

2019-08-08 19:30:32 116

原创 Java基础-变量

变量内存中一块独立的存储区域,用来保存数据;程序中变量由三个元素组成:变量类型、变量名、变量值;变量的分类局部变量:方法或语句块内部定义的变量成员变量(实例变量):方法外部、类的内部定义的变量;静态变量(类变量):类的内部、使用static修饰的变量;变量的区别:局部变量:程序中的位置:方法或语句块内部;内存中的位置:栈;作用域:从声明位置开...

2019-08-08 19:19:32 1585

原创 Java基础-开发环境

Java程序编译运行过程程序员编写的Java源文件(.java)首先要经过编译,生成所谓的字节码文件(.class);Java程序由JVM加载.class文件然后运行;JVM是一个软件,安装在操作系统中,为字节码文件提供运行环境;Java特性一次编程到处使用JVM-Java Development Kit (Java虚拟机);JREJava Runti...

2019-08-08 19:17:14 1762

原创 2.JavaSE知识体系

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。JavaSE知识体系对于JavaWeb来说,JavaSE需要掌握以下内容Java基础面向对象...

2019-08-08 19:02:53 260

原创 1.Java学习路线

简介本人将持续更新JavaWeb开发相关知识,后期也会尽可能的更新Java大数据,Java与Android相关知识。请大家多多关注我,我会尽可能的将所有内容都能写的通俗易懂。我的文章除了自己的理解,也会搜集其他的文章,进行一个总结,如果哪里有问题,希望指点一二。浏览器、服务器、数据库Web开发我们需要知道三个东西:浏览器:简单说就是用于显示网页的一个软件。...

2019-08-08 18:42:08 128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除