JDBC介绍
JDBC(Java DataBase Connectivity) 称为Java数据库连接,它是一种用于数据库访问的应用程序API,由一组用Java语言编写的类和接口组成,有了JDBC就可以用同一的语法对多种关系数据库进行访问,而不用担心其数据库操作语言的差异。 有了JDBC,就不必为访问Mysql数据库专门写一个程序,为访问Oracle又专门写一个程序等等。
JDBC的体系结构
JDBC的结构可划分为两层:一个是面向底层的JDBC Driver Interface(驱动程序管理器接口),另一个是面向程序员的JDBC API。
使用JDBC编程,可让开发人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。但是它也有缺点,一是使用JDBC,访问数据记录的速度会受到一定程度的影响。二是JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。
JDBC提供的主要接口有:
java.sql.DriverManager:用于驱动程序的调入
java.sql.Connection:与特定数据库建立连接
java.sql.Statement:用于SQL语句的执行,包括查询语句、更新语句、创建数据库语句等
java.sql.ResultSet:用于保存查询所得的结果
DriverManager:负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并注册后才可以使用,同时提供方法来建立与数据库的连接。
JDBC优缺点
优点:
JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。
JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。
JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。
缺点:
使用JDBC,访问数据记录的速度会受到一定程度的影响。
JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。
两种常用的驱动方式
纯Java驱动
ResultSet接口常用方法及作用


连接步骤
1、启动服务
2、建库 建表 新建Java项目
3、导入驱动包
4、加载驱动
5、获得连接
6、开始执行
7、判断是否执行成功
8、关闭连接
数据库连接具体操作----增加
1、启动服务
启动eclipse和Microsoft SQL Server
2、SQL Server里面建数据库,建表,eclipse新建项目
3、导入驱动包:也就是jar,jar是什么东西,我们把它称架什么是架呢,就我们写了一堆java代码,你要用这个Java代码是不是要拷给你,那样很麻烦,所以我们可以这样子我把我写好的java代码打成一个jar包,这个jar就跟压缩包一样的,只不过这个jar包是专门个java用的,所有它被称为架包,也就是说我们把这个东西丢到Java里面去,那我们就直接可以使用jar包中的所有的类了
复制jar包找到eclipse新建项目粘贴到
里面
右键找到Build Path,划过来有个Add to Build Path 点击它就好了
4、加载驱动
--01注册驱动----只做一次
// - 01.打出SQLServerDriver,按快捷键ALT加/杠会出来这一窜//import com.microsoft.sqlserver.jdbc.SQLServerDriver;
复制com.microsoft.sqlserver.jdbc.SQLServerDriver
-- 02.使用Class.forName加载驱动
把刚刚复制的代码放里面
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
5、获得连接
- 01.编写连接语句
String url = "jdbc:sqlserver://localhost:1433;databasename=api_284";
- 02.获得连接
Connection con = DriverManager.getConnection(url, "sa", "sa123");
6、开始执行
Scanner mys=new Scanner(System.in);
System.out.println("请输入你的名字");
String name=mys.next();
System.out.println("请输入你的年龄");
int age=mys.nextInt();- 01.获得执行对象
?代表占位符,一个占位符意味着需要一个变量来填充
PreparedStatement ps = con.prepareStatement("insert into student values(?,?)");
如果sql语句有?号,则必须进行占位符的设置
ps.setString(1, name);
ps.setInt(2, age);
- 02.让执行对象执行
增删改的执行结果都是int类型
int n = ps.executeUpdate();
n就是数据库收到影响的行数
7、判断是否执行成功
if(n>0) {
System.out.println("成功的");
}else {
System.out.println("失败的");
}
8、关闭连接
if(con!=null&&!con.isClosed()) {
con.close();
}
if(ps!=null) {
ps.close();
}
---删除
--修改
--查询
以上方法很麻烦,自此进阶版的连接数据库的步骤来了
因为增删改查有许多代码都是重复的所有请看以下代码
一: 先建立一个包为:com.util 包中建立一个类:DBHelper类//帮助类
1.使用静态代码块加载驱动
2 . 编写连接语句
private static final String URL="jdbc:sqlserver://localhost:1433;databasename=api";
3. 获得连接方法
4.关闭资源
帮助包的建立 就好了,建立完后我们就可以在其他其他地方调用帮助包了使用帮助包就可以简化我们的代码。
二.根据SQLserver 表,新建一个类,提供Get,Set方法,有参无参,toString方法等等需要用的方法。
三.新建一个com.dao 包然后在dao 包里面建立你的类名为数据库表名的类里面的方法:
首先我们先定以资源:
--01增加
--02删除
--03修改
--04查找
这就是进阶版的所有内容了,之后调用Dao类里面的方法就行了。