JavaSE_JDBC编程

**重点内容**1、课程名称:JDBC
2、知识点
2.1、本次预计讲解的知识点
1、 JDBC的基本概念及分类
2、 使用JDBC进行数据库表的操作
3、 Statement、PreparedStatement、ResultSet接口的使用
4、 事务处理的概念及应用
7、 DAO
3、具体内容
3.1、JDBC简介(了解)
JDBC:Java Database Connection,表示数据库连接,是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准,既然是标准的话,所以说JDBC实际上是一套类库的接口。
主要的操作类和接口:Connection接口、Statement接口、PreapredStatement接口、ResultSet接口、DriverManager类
JDBC的主要分类:
1、 JDBC-ODBC桥连接:使用微软的ODBC进行数据库的连接,JDBC  ODBC  DB,因为中间加入了一个ODBC的过渡,所以这样的操作性能将是非常低的。所以,只要是开发就不会有人使用此方式。但是此种方式是SUN本身提供的最原始连接,所以所有的操作类库都是最新的。
2、 JDBC连接,直接使用各个数据库生产商提供的数据库连接程序,进行数据库操作,JDBC  DB,这样的性能较高,所以在开发中基本上都使用此种形式。
3、 JDBC网络连接,在正常操作中,不可能每一台电脑上都安装一个数据库。通过网络连接不同主机的数据库,此操作也将由各个数据库生产商提供支持。
3.2、JDBC操作前的准备(理解)
现在要使用JDBC连接Oracle数据库,需要经过以下两个步骤。
3.2.1、建立Person表
下面建立一张Person表。

No. 字段名称 字段类型 描述
1 pid NUMBER 编号,使用序列进行自动增长操作
2 name VARCHAR2(50) 姓名
3 sex VARCHAR2(2) 性别
4 birthday DATE 生日
5 salary NUMBER(7,2) 工资,小数表示
通过以上的表结构,写出数据库的创建脚本:

DROP SEQUENCE myseq ;
DROP TABLE person ;
CREATE SEQUENCE myseq ;
CREATE TABLE person(
    pid     NUMBER      PRIMARY KEY NOT NULL ,
    name        VARCHAR2(20)    NOT NULL ,
    sex     VARCHAR2(2) NOT NULL ,
    birthday    DATE    ,
    salary      NUMBER(7,2)
) ;

3.3、连接数据库(重点)
如果要想连接数据库,则必须要有以下的几种信息:
1、 数据库的驱动程序地址:jdbc:mysql://localhost:3306
2、 数据库的连接地址:mysql://localhost:3306/test
3、 用户名:root
4、 密码:root
但是,还需要以下的几个类支持:
1、 Class类,通过Class类加载驱动程序
2、 DriverManager类,通过DriverManager管理驱动,并可以取得连接,连接时需要地址、用户名、密码
3、 连接通过Connection进行接收
范例:进行数据库的连接操作

package org.vince.jdbcdemo01;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectionDemo01 {
   
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    public static final String DBURL = "mysql://localhost:3306/test";
    public static final String DBUSER = "root";
    public static final String DBPASS = "root";
    public static void main(String[] args) throws Exception {
        Connection conn = null; // 用于接收数据库连接
        // 1、加载数据库驱动程序
        Class.forName(DBDRIVER);
        // 2、数据库连接
        conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS); // 数据库连接
        System.out.println(conn);
        // 3、关闭
        conn.close();
    }
}

3.4、使用Statement接口进行数据库的更新操作(重点)
如果要想进行数据库的操作的话,则必须使用Statement接口,那么,如果要执行的是更新操作,则使用Statement接口中的以下方法:
No. 方法名称 类型 描述
1 int[] executeBatch() throws SQLException 普通 批处理操作
2 int executeUpdate(String sql) throws SQLException 普通 执行数据库的更新操作,返回更新的行数
如果要想为Statement接口实例化,则就需要使用Connection接口的如下方法:
No. 方法名称 类型 描述
1 Statement createStatement() throws SQLException 普通 取得Statement实例
3.4.1、执行数据插入操作
如果要想执行插入操作,则必须编写插入的SQL语法,SQL语法格式:“INSERT INTO 表名称(列,..) VALUES (值,..)”
范例:执行插入

package org.vince.jdbcdemo02;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class StatementInsertDemo01 {
   
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    public static final String DBURL = "mysql://localhost:3306/test";
    public static final String DBUSER = "root";
    public static final String DBPASS = "root";
    public static void main(String[] args) throws Exception {
        Connection conn = null; // 用于接收数据库连接
        Statement stmt = null; // 数据库操作
        String sql = "INSERT INTO person(pid,name,sex,birthday,salary) "
                + "VALUES (1,'张三','男',now(),899)";
        // 1、加载数据库驱动程序
        Class.forName(DBDRIVER);
        // 2、数据库连接
        conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS); // 数据库连接
        stmt = conn.createStatement(); // 取得Statement实例
        stmt.executeUpdate(sql); // 执行SQL语句
        // 3、关闭
        stmt.close();
        conn.close();
    }
}

3.4.2、执行数据更新操作
使用UPDATE语法就可以完成数据库的更新操作:UPDATE 表名称 SET 列=值,… WHERE 更新条件

package org.vince.jdbcdemo02;
import java.sql.Connection;
import java.sql.DriverManager;
import
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值