JDBC概述

发布于:2023-01-04 ⋅ 阅读:(311) ⋅ 点赞:(0)

目录

JDBC概述

连接步骤

Statement 接口和PreparedStatement接口区别


JDBC概述

java数据库连接,是用java语言编写的接口和类,是一套标准的API

用于连接不同的数据库

连接步骤

1.导包

导入不用数据库提供的对应的jar包

2.加载mysql驱动类

两种方式 1.DriverManager.registerDriver(new Driver());

2.Class.forName("com.mysql.cj.jdbc.Driver");

3.建立JDBC与数据库之间的连接

Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chatdb?serverTimezone=Asia/Shanghai","root","123");

chatdb:所选择的数据库

serverTimezone=Asia/Shanghai:JDK8以后都需要填入时区

"root":账号

"123":密码

4.创建Statement 接口或者PreparedStatement接口执行sql语句

1.executeUpdate(String sql) 用于执行ddl语句和dml(增,删,改)语句

返回int类型的数据,即操作的行数

2.executeQuery(String sql); 用于执行查询语句 返回一个ResultSet 集合

5.接收结果

6.关闭数据库的连接

例1:使用Statement 接口

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
​
public class Demo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chatdb?serverTimezone=Asia/Shanghai","root","123");
        Statement st=connection.createStatement();
        int result=st.executeUpdate("INSERT INTO tuser(user_name,user_password,birthday,reg_time)\n" +
                "VALUE('123','123','2002-1-15',NOW())");
        System.out.println(result);
        st.close();
        connection.close();
    }
}

例2:使用PreparedStatement接口

import java.sql.*;
​
public class Demo2 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        String name="111";
        String password="111";
​
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/chatdb?serverTimezone=Asia/Shanghai","root","123");
        PreparedStatement ps=connection.prepareStatement("insert  into tuser(user_name,user_password)"+"value (?,?)"
        );
        ps.setObject(1, name);
        ps.setObject(2, password);
        ps.executeUpdate();
        ps.close();
        connection.close();
    }
}

Statement 接口和PreparedStatement接口区别

PreparedStatement需要根据SQL语句来创建,使用参数设置,可读性较好,不易记错.安全性较高,能有效防止SQL注入攻击.

Statement需要直接拼接SQL语句,可读性差,不易维护.

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到