Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作


Java 操作数据库

第一章:Java 代码四个类实现

① 项目结构展示

需要加载数据库驱动可以看:

Java 技术篇-IntelliJ IDEA 导入数据库驱动jar包实例演示

项目结构如下:

共分为 4 个类,分别是连接类、主类、查询类和更新类。

其中更新类可实现数据库的插入、更新和删除的操作。

Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

② 数据库连接类

通过数据库连接类返回 Connection 连接对象。

package com.dbmanage.db;

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

public class DBConn {
    static String db_select = "polardb";

    // oracle数据库
    static String oracleDriverClass="oracle.jdbc.driver.OracleDriver";   // oracle的驱动

    // mysql数据库
    static String mysqlDriverClass = "com.mysql.cj.jdbc.Driver";   // mysql的驱动

    // 阿里云polardb数据库
    static String polardbDriverClass = "com.aliyun.polardb.Driver";   // polardb的驱动
    static String url = "jdbc:polardb://10.10.xx.xx:5432/alitest";   // 数据库url地址
    static String user = "alitest";   // 数据库用户名
    static String password = "1";   // 数据库密码

    public static Connection getConn() {
        /*
        作用:连接数据库连接方法
        返回:连接的实体
        */
        Connection conn = null;
        try {
            // 加载驱动
            if(db_select == "mysql") {
                Class.forName(mysqlDriverClass);
            }else if(db_select == "oracle") {
                Class.forName(oracleDriverClass);
            }else if(db_select == "polardb") {
                Class.forName(polardbDriverClass);
            }

            // 连接数据库
            conn = DriverManager.getConnection(url, user, password);

            System.out.println("数据库连接状态:\n连接成功!");

        // 先抓取sql异常
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn; // 返回一个连接
    }
}

③ 数据库查询类

通过数据库查询类执行查询操作,返回查询的结果集 ResultSet 对象。

package com.dbmanage.db;

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

public class DBQuery {

    public static ResultSet getRs(Connection conn, String sql) {
        /*
        作用:查询数据库操作
        返回:查询的结果集
        */
        Statement st = null;
        ResultSet rs = null;

        try {
            // statement对象用于执行sql语句
            st = conn.createStatement();
            // 执行sql语句并且换回一个查询的结果集
            rs = st.executeQuery(sql);
        }catch(SQLException e){
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }

        return rs;
    }
}

④ 数据库更新类

该类执行数据库的插入、更新和删除动作,包括 insert、updatedelete

package com.dbmanage.db;

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

public class DBUpdate {

    public static int getRs(Connection conn, String sql) {
        /*
        作用:插入、更新、删除数据库
        返回:影响的行数:0代表无影响
        */
        Statement st = null;
        int rs = 0;

        try {
            // statement对象用于执行sql语句
            st = conn.createStatement();
            // 执行sql语句,成功返回修改行数,不成功返回0
            rs = st.executeUpdate(sql);
        }catch(SQLException e){
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }

        return rs;
    }
}

⑤ 数据库主类

数据库主类进行查询和更新操作演示。

package com.dbmanage.db;

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

public class DBMain {

    public static void main(String[] args) throws SQLException {

        Connection conn = null;
        Statement st = null;
        ResultSet query_rs = null;
        int update_rs = 0;
        String sql = "";

        // 获取数据库连接
        conn = DBConn.getConn();

        // sql查询语句
        sql = "select * from bd_supplier order by code asc";

        // 进行查询操作
        query_rs = DBQuery.getRs(conn, sql);

        // 显示查询的结果
        System.out.println("\n查询操作结果如下:");
        while (query_rs.next()) {
            int row_id = query_rs.getRow();
            String code = query_rs.getString("code");
            String name = query_rs.getString("name");
            System.out.println(row_id + " " + code);
        }

        // sql更新语句
        sql = "update bd_supplier set code = '0406-01' where code = '0406'";

        // 进行更新操作
        update_rs = DBUpdate.getRs(conn, sql);

        // 显示查询的结果
        System.out.println("\n更新操作结果如下:");
        if(update_rs > 0){
            System.out.println("执行成功!影响行数:" + update_rs + " 行!");
        }else if(update_rs == 0){
            System.out.println("无行数受到影响!");
        }
    }
}

第二章:查询和更新操作实例演示

① 查询操作演示

控制台显示出行和编码。

// sql查询语句
sql = "select * from bd_supplier order by code asc";

// 进行查询操作
query_rs = DBQuery.getRs(conn, sql);

// 显示查询的结果
System.out.println("\n查询操作结果如下:");
while (query_rs.next()) {
    int row_id = query_rs.getRow();
    String code = query_rs.getString("code");
    String name = query_rs.getString("name");
    System.out.println(row_id + " " + code);
}

Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

② 更新操作演示

0406 编码改为 0406-01

// sql更新语句
sql = "update bd_supplier set code = '0406-01' where code = '0406'";

// 进行更新操作
update_rs = DBUpdate.getRs(conn, sql);

// 显示查询的结果
System.out.println("\n更新操作结果如下:");
if(update_rs > 0){
    System.out.println("执行成功!影响行数:" + update_rs + " 行!");
}else if(update_rs == 0){
    System.out.println("无行数受到影响!");
}

执行后可以看到有一行受到影响了,就是 0406 这一条。

Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

喜欢的点个赞❤吧!

上一篇:一些开源搜索引擎实现——倒排使用原始文件,列存储Hbase,KV store如levelDB、mongoDB、redis,以及SQL的,如sqlite或者xxSQL


下一篇:开发者必备的6款源码搜索引擎