jdbc详解

jdbc概念

jdbc(Java Database Connectivity),是一种用于执行SQL语句的Java API,也就是java操作数据库,其本质是官方定义的一套操作所有关系型数据库的接口。

常见的关系数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等,而jdbc就是为这些关系型数据库提供统一访问,数据库厂商自己写的实现类,封装成数据库驱动jar包。

真正执行的代码是驱动jar包中的实现类,如下形式使用

1
2
3
4
5
//Person接口、Worker类
//父类引用指向子类对象
Person p=new Worker();
//多态调用
p.eat();

jdbc快速入门

jdbc快速入门

步骤:

  1. 导入驱动jar包
  2. 注册驱动
  3. 获取数据库连接对象 Connection
  4. 定义sql
  5. 获取执行sql语句的对象 Statement
  6. 执行sql,接收返回的结果
  7. 处理结果
  8. 释放资源
阅读更多...

SQL从删库到跑路(二)

一、DML:增删改表中数据

1. 添加数据

1
2
3
4
-- 常规写法
insert into stu(sid,sname,sage) values(172922,'朱同心',22);
-- 简便写法
insert into stu values(17200,'刘升升',21,null,null);

2. 删除数据

1
2
3
4
5
 delete from 表名 whrere 条件;
-- 注意:如果不加条件则删除表中所有记录

-- 删除表,然后再创建一个一模一样的空表(效率高)
truncate table stu;

3. 修改数据

1
2
3
4
5
6
 update 表名 set 列名1=值1,列名2=值2 where 条件

-- 将朱同心的名字改为猪大头,年龄改为24
update stu set sname='猪大头',sage=24 where sname='朱同心';

-- 注意:如果不加条件则会将表中所有记录全部修改
阅读更多...

SQL从删库到跑路(一)

一、什么是SQL?

SQL(Structured Query Language)结构化查询语言

即定义了操作所有关系型数据库的规则。

二、SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾
  2. 不区分大小写
  3. 注释
  • 单行注释:– 内容 或 # 内容

  • 多行注释: /* 注释 */

三、SQL分类

1. DDL

(Data Definition Language) 数据定义语言

  • 用来定义数据库对象:数据库,表,列等。关键字:Create,drop,alter等

2. DML

(Data Manipulation Language)数据操作语言

  • 用来对数据库中的表数据进行增删改。关键字:insert,delete,update等

阅读更多...

JavaEE-Junit测试、反射与注解的使用

一、Junit单元测试

测试分类

  1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值

  2. 白盒测试:需要写代码。关注程序具体的执行流程,Junit就属于其中的一种。

Junit使用

  1. 定义一个测试类(测试用例)
  2. 定义测试方法:可以独立运行

    返回值用void;方法名为test测试的方法名,如 testAdd() ;参数列表为空

  3. 给方法加@Test
  4. 导入junit依赖环境

阅读更多...

Java-类加载器与反射

一、类加载器

1.1 类加载

当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类的加载或者类初始化

①类的加载

  • 就是指将class文件读入内存,并为之创建一个java.lang.Class对象
  • 任何类被使用时,系统都会为之建立一个java.lang.Class对象

②类的连接

  • 验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致
  • 准备阶段:负责为类变量分配内存,并设置默认初始化值
  • 解析阶段:将类的二进制数据中的符号引用替换为直接引用

③类的初始化

  • 在该阶段,主要就是对类变量进行初始化
类的初始化步骤:
阅读更多...

Java-Stream流

一、体验Stream流

需求:

  1. 创建一个集合,存储多个字符串元素
  2. 把集合中所有以“张”开头的元素存储到一个新的集合
  3. 把“张”开头的集合中的长度为3的元素存储到新的集合
  4. 遍历上一步得到的集合

而这样内容太复杂了,想使代码更简洁就需要用到接下来要学习的Stream流

阅读更多...

Java-函数式接口

1.1 函数式接口概述

函数式接口:有且仅有一个抽象方法的接口

Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口,只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利进行推导

检测一个接口是否为函数式接口用 @FunctionalInterface,放在接口定义上方如果是编译通过,反之。

阅读更多...

Java-方法引用

一、初见方法引用

考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那么是否还有必要再写重复逻辑呢?

答案是没有必要

所以要是用方法引用来使用已经存在的方案

二、方法引用符

阅读更多...

Java-接口组成更新

一、接口组成

  • 常量 public static final
  • 抽象方法 public abstract
  • 默认方法(Java8)
  • 静态方法(Java8)
  • 私有方法(Java9)

案例

需求:

  1. 定义一个接口Myinterface,里面有两个抽象方法:

void show1();

void show2();

  1. 定义接口的两个实现类:

InterIml1

InterIml2

阅读更多...

Lambda表达式

体验Lambda表达式

需求:启动一个线程,在控制台输出:多线程程序启动了

方式一、实现类的方式

  • 定义一个类MyRunnable实现Runnable接口,重写run()方法
  • 创建MyRunnable类的对象
  • 创建Thread类的对象,把MyRunnable的对象作为构造参数传递
  • 启动线程

阅读更多...

请我喝杯咖啡吧~

支付宝
微信