使用IDEA创建普通Java项目实现JDBC增删改查

一、创建一个普通Java项目

1、打开IDEA新建项目:点击File -> New -> Project

2、选择SDK是自己的JDK 1.8,然后next依次操作。

3、建包,编写Main.java类

4、新建目录用于存放实现JDBC需要的jar包

查看自己的MySQL版本在命令行窗口(cmd)输入命令:

MySQL版本是 5.6 和 5.7 的下载下面的mysql-connector-java-5.1.5.jar
链接: https://pan.baidu.com/s/1LiWU8N_yYalc2rn_pgFxQA 提取码: pki5

MySQL版本是8.0 的下载下面的mysql-connector-j-8.1.0.jar
链接: https://pan.baidu.com/s/1R07rKm-XbsIbztv0LWvQMw 提取码: 653y

5、在项目中配置导入的jar包,添加一个jar包作为当前模块的依赖项。

 二、配置数据库连接信息

1、创建一个标准Account类

2、在自己的数据库中新建t_account表并设置和Account类相应的字段。插入一些数据。

3、编写Main类,配置数据库连接。

【这些代码一般是固定模板,就是与数据库建立连接。不同的是3.编写的SQL语句、5.执行SQL语句的方法和6.处理结果集部分的内容】

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        //“jdbc:mysql://” 表示使用JDBC协议连接MySQL数据库
        //“localhost:3306” 主机地址+端口号
        //“/qcby” 数据库名
        //“?”后面的是一些编码设置
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
            
            //6、处理结果集
            
            //7、关闭资源,结束程序
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

4、 完善模板,先编写SQL语句,再调用执行对象的方法执行SQL语句,最后处理结果集获取查询结果。

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "select * from t_account";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
            ResultSet resultSet = statement.executeQuery(sql);
            //6、处理结果集
            //打印查询结果
            while(resultSet.next()){
                Account account = new Account();
                account.setId(resultSet.getInt("id"));
                account.setUsername(resultSet.getString("username"));
                account.setMoney(resultSet.getDouble("money"));
                System.out.println(account);
            }
            //7、关闭资源,结束程序
            //使用ResultSet需要在程序结束时调用其close()方法关闭资源
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 为什么使用statement.exectueQuery()方法需要使用ResultSet类接收?

通过查询此方法可知返回的数据类型是ResultSet类型,所以Main类中需要用ResultSet类接收返回的参数。如下所示:

 

 三、实现增加操作

1、配置数据库连接,直接用模板

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
           
            //6、处理结果集

            //7、关闭资源,结束程序
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2、编写SQL语句,更改执行SQL语句的方法,编写处理结果集部分。

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "insert into t_account(id,username,money) values(null,'河金',10000)";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
            int row = statement.executeUpdate(sql);
            //6、处理结果集
            if(row>0){
                System.out.println("插入成功");
            }else{
                System.out.println("插入失败");
            }
            //7、关闭资源,结束程序
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

3、运行,查看数据库信息

四、实现修改操作

1、配置数据库连接,用模板

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
           
            //6、处理结果集

            //7、关闭资源,结束程序
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2、编写SQL语句、调用方法执行SQL、处理返回结果。

public class Main {
    public static void main(String[] args) {
        //配置数据源信息
        String url = "jdbc:mysql://localhost:3306/qcby?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
        String username = "root";
        String password = "123456";
        try {
            //1、加载驱动——显式注册
            DriverManager.registerDriver(new Driver());
            //1、加载驱动——隐式注册——反射加载驱动
            //Class.forName("com.mysql.jdbc.Driver");
            //2、获取连接
            Connection connection = DriverManager.getConnection(url, username, password);
            //3、编写SQL语句
            String sql = "update t_account set username='李四' where username='河金'";
            //4、获取执行SQL语句的执行对象
            Statement statement = connection.createStatement();
            //5、执行SQL语句,获取结果集
            int row = statement.executeUpdate(sql);
            //6、处理结果集
            if(row>0){
                System.out.println("修改成功");
            }else{
                System.out.println("修改失败");
            }
            //7、关闭资源,结束程序
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

3、运行查看数据库

五、实现删除操作

删除操作和增加、修改一样,只需要修改SQL语句即可,他们都使用的是statement.executeUpdate()方法。

六、总结

        通过上述示例的增删改查操作,可以知道实现JDBC就是(加载驱动、获取连接、编写SQL、获取执行对象、执行SQL语句获取结果集、处理结果集、关闭资源)。其中的配置数据库连接部分是固定的,只需要更改(编写SQL、执行SQL语句获取结果集、处理结果)几个部分即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值