前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

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

作者头像
小蓝枣
发布2021-12-01 14:16:15
6500
发布2021-12-01 14:16:15
举报

Java 操作数据库

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

① 项目结构展示

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

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

项目结构如下:

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

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

② 数据库连接类

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

代码语言:javascript
复制
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 对象。

代码语言:javascript
复制
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

代码语言:javascript
复制
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;
    }
}

⑤ 数据库主类

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

代码语言:javascript
复制
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("无行数受到影响!");
        }
    }
}

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

① 查询操作演示

控制台显示出行和编码。

代码语言:javascript
复制
// 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);
}

② 更新操作演示

0406 编码改为 0406-01

代码语言:javascript
复制
// 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 这一条。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 操作数据库
  • 第一章:Java 代码四个类实现
  • ① 项目结构展示
  • ② 数据库连接类
  • ③ 数据库查询类
  • ④ 数据库更新类
  • ⑤ 数据库主类
  • 第二章:查询和更新操作实例演示
  • ① 查询操作演示
  • ② 更新操作演示
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档