通过JDBC对MySQL的操作

本文详细介绍了使用Java JDBC进行数据库的增删查改操作,包括连接数据库、执行SQL语句及结果集解析,展示了如何规范地处理数据库操作并提供代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务分析

 1. 连接数据库。
 2. 对数据库进行操作。

代码实现(增、改、删)

package cn.itcast.demo1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

/**
 * 实现jdbc的增 删 查 改 功能
 * 
 * @author YangKeKe
 * 
 */
public class demo2 {

    /**
     * 实现增 删 改的功能
     * 
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    @Test
    public void fun1() throws ClassNotFoundException, SQLException {
        /*
         * 连接数据库
         */
        String driverClassName = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/mydb3";
        String username = "root";
        String password = "123";

        // 加载驱动类
        Class.forName(driverClassName);
        // 完成连接
        Connection con = DriverManager.getConnection(url, username, password);

        // 实现对数据库的操作(增 删 改)
        Statement statement = con.createStatement();

        // 对表格进行添加
        String sqlAdd = "INSERT INTO stu VALUES"
                + "('itcast_0004','yangwenqing','20', 'man','colloage')";
        // 对数据库进行更新(将 number为itcast_0003的名称改为yangmu)
        String sqlUpdate = "UPDATE stu SET name = 'yangmu' "
                + "WHERE number = 'itcast_0003'";

        // 对数据库进行删除(删除itcast_0002这一行)
        String sqlDelete = "DELETE FROM stu WHERE number = 'itcast_0002'";

        int add = statement.executeUpdate(sqlAdd);
        int update = statement.executeUpdate(sqlUpdate);
        int delete = statement.executeUpdate(sqlDelete);
        System.out.println(add);
        System.out.println(update);
        System.out.println(delete);

    }

    /**
     * 实现对数据库的查询操作
     * 
     * @throws ClassNotFoundException
     *             C
     * @throws SQLException
     */
    @Test
    public void fun2() throws ClassNotFoundException, SQLException {

        /*
         * 1、加载驱动类 2、实现对数据库的连接
         */
        String driverClassName = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/mydb3";
        String username = "root";
        String password = "123";

        Class.forName(driverClassName);

        Connection con = DriverManager.getConnection(url, username, password);

        Statement statement = con.createStatement();

        String sql = "SELECT * FROM stu";

        ResultSet resultSet = statement.executeQuery(sql);

        /*
         * 解析ResultSet
         */
        if (resultSet.next()) {
            String number = resultSet.getString("number");
            String name = resultSet.getString("name");
            int age = resultSet.getInt(3);
            String gender = resultSet.getString("gender");
            String education = resultSet.getString("education");
            System.out.println(number + ", " + name + ", " + gender + ", "
                    + education);
        }
        /*
         * 关闭资源(倒关)
         */
        resultSet.close();
        statement.close();
        con.close();
        
    }

 /*
     * 实现代码的规范化
     */
    @Test
    public void fun3() throws Exception {
        
        Connection con = null;
        Statement statement = null;
        ResultSet relt = null;
        
        try {
            String driverClassName = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/mydb3";
            String username = "root";
            String password = "123";

            Class.forName(driverClassName);
            con = DriverManager.getConnection(url, username,
                    password);
           
            statement = con.createStatement();
           
            String sql = "SELECT * FROM stu";
            
            relt = statement.executeQuery(sql);
            
            while(relt.next()){
                
                String number = relt.getString("number");
                String name = relt.getString("name");
                int age = relt.getInt(3);
                String gender = relt.getString("gender");
                String education = relt.getString("education");
                System.out.println(number + ", " + name + ", " + gender + ", "
                        + education);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            if(relt == null) relt.close();
            if(statement == null) statement.close();
            if(con == null) con.close();
        }

    }
}


控制台输出

3 ( 这里显示的是对表格中影响的行数)
itcast_0001, yangkeke, man, juniorcolleage

注意事项

1、对数据库的查询需要对ResultSet进行解析
2‘、需要关闭资源,倒关。以及代码的规范性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值