IDEA连接MySQL数据库

1.要先去MySQL官网下载connector

1. 就是jar包,注意,必须是和当前你的MySQLbanb一致的,一模一样的!!!
2. 特别注意】如果以上错误都不是,还有一种常见错误,就是jre1.8.0_162\lib\ext目录下没有加入jar包,解决办法很简单,将mysql-connector-java.jar包复制到JDK所在位置\jre1.8.0_162\lib\ext目录下即可

3. 注意格式。
(1)URL格式不对:正确为
Connectionconn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/XX”,“root”,“XXXX”)
(2)驱动字符串出错(com.mysql.jdbc.Driver)
(3)Classpath中没有加入合适的mysql_jdbc驱动

在这里插入图片描述
可以通过看info,看版本是否匹配。
在这里插入图片描述

在这里插入图片描述

2.附上测试连接代码

package com.company;
import  java.sql.*;
public class Main {
    private static Connection con; //声明 Connection 对象
    private static PreparedStatement pStmt;//声明预处理 PreparedStatement 对象
    private static ResultSet res;//声明结果 ResultSet 对象

    private static String url = "jdbc:mysql://localhost:3306/dbtest";// 协议:子协议://目标IP地址:端口/数据库  在这里test1是之前创建的数据库名
    private static String user = "root";
    private static String password = "123456";

    public Connection getConnection() {//建立返回值为 Connection 的方法

        //代码块(1):加载数据库驱动类
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("数据库驱动加载成功");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        //代码块(2):通过访问数据库的URL获取数据库连接对象
        try {
            con = DriverManager.getConnection(url,user,password);
            System.out.println("数据库连接成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return con;
    }

    public static void main(String[] args) {
        Main h = new Main();//创建本类对象
        con = h.getConnection();//与数据库建立连接
        queryData();// 查询数据
        /*addData();   增添数据
        updateData();//更新数据
        deleteData();//删除数据
        */
    }

    public static void queryData() {

        try {   //mysql查询语句
            String sql = "SELECT * FROM student";

            //代码块(4):得到结果集
            pStmt = con.prepareStatement(sql);
            res = pStmt.executeQuery();

            while (res.next()) {//如果当前语句不是最后一条,则进入循环
                //代码块(5):展示数据集
                System.out.println(res.getString("Name") + " "
                        + res.getString("Email") +
                        " " + res.getString("Age"));
            }
            res.close();//释放资源
            pStmt.close();
        } catch (SQLException e) {//捕获异常
            e.printStackTrace();
        }
    }


    public static void addData() {//添加数据操作
        try {
            //pStmt = con.prepareStatement

            pStmt = con.prepareStatement("insert into student (Name, Email,Age) values('熊二','Sean1991',29)");
            pStmt.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void updateData() {//更新数据操作
        try {
            pStmt = con.prepareStatement("update student set 姓名 = '五号病人' where Age = 19");
            // pStmt.setString(1, "周礼");通配符
            pStmt.executeUpdate();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    public static void deleteData() {//删除数据操作
        try {
            Statement stmt = con.createStatement();//创建Statement对象
            stmt.executeUpdate("delete from student where 学号=4");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值