JDBC快速使用

JDBC

概念

是一种用于执行SQLJava API,可以为多种关系型数据库提供统一访问,它是由一种Java语言编写的类和接口组成的

本质

其实就是Java官方提供的一套规范,用于帮助开发人员快速实现不同关系型数据库的连接

所需的jar

https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/

使用
package com.cxl;

import java.sql.*;

public class demo01 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 注册驱动(5版本)
        // Class.forName("com.mysql.jdbc.Driver");
        // 注册驱动(8版本)
        // Class.forName("com.mysql.cj.jdbc.Driver");
        // 获取数据库连接(5版本不需要?serverTimezone=UTC这一段,这是8版本之后需要用到,指定时区)
        Connection connection = DriverManager.getConnection(
        "jdbc:mysql://IP:3306/数据库?serverTimezone=UTC", 
        "root",
        "密码");
        // 获取普通执行者对象
        //Statement statement = connection.createStatement();
        // 执行mysql语句
        String str = "SELECT * FROM user WHERE name = ?";
        // 预编译对象 - 确定格式
        PreparedStatement st = connection.prepareStatement(str);
        // 第一个参数
        st.setString(1,"张三");
        ResultSet resultSet = st.executeQuery();
        // 处理结果
        while (resultSet.next()) {
            System.out.println(resultSet.getString("name") + "\t" + resultSet.getInt("age"));
        }
        st.close();
        resultSet.close();
    }
}
注意
  • message from server: "Host '??????��' is not allowed to connect to this MySQL server"

    遇到这种问题,解决

    1. 打开你的mysql
    2. 找到user
    3. Hostlocalhost数据全部改为%
    4. 最后将MySQL的服务给重启(不会的话就重启电脑吧)
  • 还有一个关于时区的问题serverTimezone,在第一个参数后面加上?serverTimezone=UTC即可

    • Connection connection = DriverManager.getConnection("jdbc:mysql://IP:3306/数据库?serverTimezone=UTC", "root", "密码");
  • 注册驱动可以省略不写,已实现自动注册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值