JDBC——使用Java语言操作数据库

目录

JDBC简介

JDBC概念

 JDBC本质

JDBC好处

JDBC快速入门

 JDBC编程步骤 

Statement和PreparedStatement的异同及优缺点

executeQuery和executeUpdate的区别


JDBC简介

JDBC概念

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

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

同一套Java代码,操作不同的关系型数据库

 JDBC本质

●官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口

●各个数据库厂商去实现这套接口,提供数据库驱动jar包

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

JDBC好处

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

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

JDBC快速入门

 

步骤:

 JDBC编程步骤 

0.导入相应jar包

1)创建目录,

 

 2)将jar包复制到创建目录中

 

 3)右键jar包点击Add as Library...

4) 选择Level复选框   选择Module Library  点击OK,jar包配置完成

 

 1.注册驱动

注意:Class.forName需要捕获ClassNotFoundException. 

 2.获取连接

这里需要提供:数据库服务端的IP地址:127.0.0.1 (这是本机,如果连接其他电脑上的数据库,需填写相应的IP地址)
                         数据库的端口号: 3306 (mysql专用端口号)
                         数据库名称 db1(根据你自己数据库中的名称填写)
                         账号 root
                         密码 1234(如果你在创建数据库的时候没有使用默认的账号和密码,请填写自己设置的账号和密码)

使用DriverManager.getConnection(url,username,password)获取连接对象
Connection是与特定数据库连接回话的接口,使用的时候需要导包,而且必须在程序结束的时候将其关闭。getConnection方法也需要捕获SQLException异常。

3.定义sql语句

定义所需要对数据库进行操作的sql语句

4.获取执行sql的对象   Statement和PreparedStatement对象

 5.执行sql

stmt.executeUpdate(sql) //用于DDL,DML语句

stmt.executeQuery(sql)  //用于DQL语句
 

6.处理结果

7.释放资源(与关闭流的方式一样,先开的后关,后开的先关)

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();

 简单示例:

package com.itheima.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) throws Exception {
        /**
         * JDBC快速入门
         */
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");  //mysql5之后的驱动jar包,可以省略注册驱动的步骤

        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=false";
        String username = "root";
        String password = "1234";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3.定义sql语句
        String sql = "UPDATE account SET money = 2000 WHERE id =1";

        //4.获取执行sql的对象 Statement
       Statement stmt =  conn.createStatement();

        //5.执行sql
        int count = stmt.executeUpdate(sql);//返回值是受影响的行数

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();
    }
}

Statement和PreparedStatement的异同及优缺点


同:两者都是用来执SQL语句的

异:PreparedStatement需要根据SQL语句来创建,它能够通过设置参数,指定相应的值,不是像Statement那样使用字符串拼接的方式。

PreparedStatement的优点:

1、其使用参数设置,可读性好,不易记错。在statement中使用字符串拼接,可读性和维护性比较差。

2、其具有预编译机制,性能比statement更快。

3、其能够有效防止SQL注入攻击。

executeQuery和executeUpdate的区别


相同点:二者都能够执行增加、删除、修改等操作。

不同点:

1、execute可以执行查询语句,然后通过getResult把结果取出来。executeUpdate不能执行查询语句。

2、execute返回Boolean类型,true表示执行的是查询语句,false表示执行的insert、delete、update等。executeUpdate的返回值是int,表示有多少条数据受到了影响。
 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值