准备工作

1.首先在maven 下载Mysql驱动包

如何使用JDBC(java database connectivity)进行编译_JDBC

Maven 中央仓库 

在上方搜索框中搜索Mysql

如何使用JDBC(java database connectivity)进行编译_JDBC_02

点击第二个Mysql Connector java

如何使用JDBC(java database connectivity)进行编译_JDBC_03

找到对应的下载Mysql的系列(我的是5.7,   5开头就行)

如何使用JDBC(java database connectivity)进行编译_JDBC_04

在Files 行 点击 (jar(983KB)) 

2.然后创建项目导入驱动包

先创建Directory  lib 用来存放包

如何使用JDBC(java database connectivity)进行编译_JDBC_05

包复制到这

如何使用JDBC(java database connectivity)进行编译_JDBC_06


编写代码 

1.创建数据源(描述数据库服务器所在的位置)

2.建立联系

3.构造sql语句

4.执行sql语句

5.释放资源

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCInsert {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        //1.创建并初始化一个数据源
        DataSource dataSource = new MysqlDataSource(); //DataSource 数据源是接口不能new, (向下转型);
        //当然也可以直接 MysqlDataSource database = new MysqlDataSource();就不用上下转型,使用习惯
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("数据库密码");//这些方法是子类特有的,把父类引用转回子类引用(向下转型)
        //2.和数据库服务器进行连接
        Connection connection = dataSource.getConnection();//受查异常 显示处理
        //3.从控制台读取用户的输入内容
        System.out.println("请输入学生姓名: ");
        String name = scanner.nextLine();
        System.out.println("请输入学号: ");
        int id = scanner.nextInt();
        //4.构造sql语句
        String sql = "insert into student values(?,?)";//使用占位符
        PreparedStatement statement = connection.prepareStatement(sql);//使用PreparedStatement提前预编译sql
        statement.setInt(1,id);//第一个出现的占位符和id替换
        statement.setString(2,name);//第二个出现的占位符和 name替换
        //这个打印加到拼接数据之后
        System.out.println(statement);
        //5.执行sql语句
        int ret  = statement.executeUpdate();//返回int 表示影响的行数
        System.out.println("ret = "+ ret);
        //6.释放资源
        statement.close();
        connection.close();
    }
}

如何使用JDBC(java database connectivity)进行编译_JDBC_07

"jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false"

如何使用JDBC(java database connectivity)进行编译_JDBC_08

结果显示

如何使用JDBC(java database connectivity)进行编译_JDBC_09


如何使用JDBC(java database connectivity)进行编译_JDBC_10


实现查询操作

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCInsert {
    public static void main(String[] args) throws SQLException {
        //1.创建和初始化数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("Yxt324");
        //2.与数据库建立连接
        Connection connection =dataSource.getConnection();
        //3.构造sql语句
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        //4.执行sql语句
        ResultSet resultSet = statement.executeQuery();
        //5.遍历结果集合
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = "+ id +",name = "+ name);
        }
        //6.释放资源
        resultSet.close();
        statement.close();
        connection.close();

    }

如何使用JDBC(java database connectivity)进行编译_JDBC_11

对于查询结果来说返回的值应该是ResultSet对象而不是简单的 int 

        while (resultSet.next()) {
            int id = resultSet.getInt("id");
          //当光标指向某一行可以使用getXX 获取这一行的数据
            String name = resultSet.getString("name");
            System.out.println("id = "+ id +",name = "+ name);

        }

如何使用JDBC(java database connectivity)进行编译_JDBC_12