JavaWeb学习--JDBC简介与API详解

JDBC简介

  • JDBC概念

JDBC就是使用Java语言操作关系型数据库的一套API

全称:(Java DataBase Connectivity ) Java数据库连接

 

  • JDBC本质

官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包

我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类

JavaWeb学习--JDBC简介与API详解

  • JDBC优点

各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发

可随时替换底层数据库,访问数据库的Java代码基本不变

 

JDBC七步入门

JavaWeb学习--JDBC简介与API详解

API详解

  • DirverManager

1.注册驱动

//注册驱动
Class.forName("com.mysql.jdbc.Driver");

//查看Driver类源码
static {
    try {
        DriverManager.registerDriver(new Driver());
    }catch (SQLException var1) {
        throw new RuntimeException( "Can't register driver ! ");
    }
}


注意:

MySQL 5之后的驱动包,可以省略注册驱动的步骤

自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类

 

2.获取连接

static Connection    getconnection (String url,String user,String password)

参数

1. url:连接路径

语法:jdbc:mysql:/lip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2...

示例:jdbc:mysql://127.0.0.1:3306/db1

细节:

如果连接的是本机mysq服务器,并且mysql服务默认端口是3306,则uri可以简写为: jdbc:mysql:/数据库名称?参数键值对

配置useSSL=false参数,禁用安全连接方式,解决警告提示

2. user:用户名

3. password:密码

 

  • Connection

 

1.获取执行SQL的对象

  • 普通执行SQL对象

Statement   createStatement()

 

  • 预编译SQL的执行SQL对象:防止SQL注入

PreparedStatement   prepareStatement (sql)

 

  • 执行存储过程的对象

CallableStatement   prepareCall (sql)

 

2.事务管理

  • MySQL事务管理

开启事务:BEGIN; /START TRANSACTION;

提交事务:COMMIT;

回滚事务:ROLLBACK;

MySQL默认自动提交事务

 

  • JDBC事务管理:Connection接口中定义了3个对应的方法

开启事务: setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务

提交事务: commit()

回滚事务:rollback()

 

 

  • Statement

 

1.执行SQL语句

  • 执行SQL语句

int    executeUpdate(sql);  //执行DML、DDL语句

返回值:

(1)DML语句影响的行数

(2)DDL语句执行后,执行成功也可能返回0

 

 

  • ResultSet

ResultSet是Statement的另一个执行SQL语句方式,主要用于执行DQL语句,返回查询结果对象

执行DQL语句

ResultSet    executeQuery(sql);  //执行DQL语句

返回值

(1)ResultSet对象

JavaWeb学习--JDBC简介与API详解

 

上一篇:初学JavaWeb,假期也不能停止脚步


下一篇:javaweb 过滤器