详解Java数据库编程之JDBC

发布于:2024-12-08 ⋅ 阅读:(149) ⋅ 点赞:(0)

目录

首先创建一个Java项目

在Maven中央仓库下载mysql connector的jar包

针对MySQL版本5 

针对MySQL版本8

下载之后,在IDEA中创建的项目中建立一个lib目录,然后把刚刚下载好的jar包拷贝进去,然后右键刚刚添加的jar包,点击‘添加为库’

编写代码

数据库准备

针对增/删/改

针对查询


首先创建一个Java项目

在Maven中央仓库下载mysql connector的jar包

针对MySQL版本5 

如果你的MySQL版本是5的话,在MySQL Connextor Java中下载

针对MySQL版本8

如果你的MySQL版本是8的话,在MySQL Connextor/J中下载

下载之后,在IDEA中创建的项目中建立一个lib目录,然后把刚刚下载好的jar包拷贝进去,然后右键刚刚添加的jar包,点击‘添加为库’

编写代码
数据库准备

针对增/删/改

增/删/改 除了对应sql不一样,其他都一样,下面以添加数据为例:

import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) throws SQLException {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入学号:");
        int id=scanner.nextInt();
        System.out.println("请输入姓名:");
        String name=scanner.next();

        //设置DataSouce
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("Hxwhly2.");

        //获取Connection
        Connection connection=dataSource.getConnection();

        //编写sql语句
        String sql="insert into student values(?,?)";
    
        //设置statement
        PreparedStatement statement=connection.prepareStatement(sql);

        statement.setInt(1,id);
        statement.setString(2,name);
        System.out.println("sql="+statement);

        //执行sql语句
        int n=statement.executeUpdate();
        System.out.println("n="+n);

        //关闭连接,释放资源
        statement.close();
        connection.close();
    }
}

执行结果:

针对查询
import com.mysql.cj.jdbc.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Demo2 {
    public static void main(String[] args) throws SQLException {
        //设置DataSource
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("Hxwhly2.");

        //获取Connection
        Connection connection=dataSource.getConnection();

        //编写sql
        String sql="select * from student where id=?";

        //设置statement
        PreparedStatement statement=connection.prepareStatement(sql);
        statement.setInt(1,1);

        //执行sql语句
        ResultSet resultSet=statement.executeQuery();

        //遍历结果集
        while(resultSet.next()){
            int id=resultSet.getInt("id");
            String name=resultSet.getString("name");
            System.out.println("id="+id+", name="+name);
        }

        //关闭连接,释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

运行结果:


网站公告

今日签到

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