IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Java MySQL 数据库 JDBC操作(增删改查) -> 正文阅读

[大数据]Java MySQL 数据库 JDBC操作(增删改查)

作者:recommend-item-box type_download clearfix

一、JDBC连接数据库的步骤

1、加载jdbc驱动程序;
2、提供JDBC连接的URL
2、创建数据库的连接;
3、创建preparedStatement;
4、执行SQL语句;
5、遍历结果集;
6、处理异常,关闭JDBC对象资源。

package com.example.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JdbcProcess {
    public static void main(String[] args){
        try{
            //首先加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //提供JDBC连接的URL
            String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai&autoReconnect=true";
            String username="root";
            String password="123456";
            //创建数据库的连接
            Connection con = DriverManager.getConnection(url,username,password);
            //创建一个statement执行者
            String sql="SELECT * FROM sys_role WHERE id = ?";
            PreparedStatement statement = con.prepareStatement(sql);
            statement.setLong(1,1);
            //执行SQL语句
            ResultSet result = statement.executeQuery();
            //处理返回结果
            while (result.next()){
                System.out.println(result.getString("name") + "---" + result.getString("remark"));
            }
            //关闭JDBC对象
            con.close();
            result.close();
            statement.close();
        }catch(ClassNotFoundException e){
        	e.printStackTrace();
        } catch(Exception e){
        	e.printStackTrace();
        }
    }
}

二、实操过程

1、创建数据库表sys_role

在这里插入图片描述

2、编写配置 dbConfig.properties

jdbcDriver=com.mysql.cj.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai&autoReconnect=true
jdbcUser=root
jdbcPassword=123456

3、编写工具类JdbcUtil.java

package com.example.jdbc;

import java.sql.*;
import java.util.ResourceBundle;
/**
 * JDBC工具类
 * @author 
 *
 */
public class JdbcUtil {
    private static final String jdbcDriver;
    private static final  String jdbcUrl;
    private static final String jdbcUser;
    private static final String jdbcPassword;
 
    static {
        ResourceBundle bundle = ResourceBundle.getBundle("dbConfig");
        jdbcDriver = bundle.getString("jdbcDriver");
        jdbcUrl = bundle.getString("jdbcUrl");
        jdbcUser = bundle.getString("jdbcUser");
        jdbcPassword = bundle.getString("jdbcPassword");
    }
 
    //装载驱动
    private static void loadDriver() throws ClassNotFoundException{
        Class.forName(jdbcDriver);
    }
 
    //获取连接
    public static Connection getConnection() throws Exception{
        loadDriver();
        return DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
    }
 
    //释放资源
    public static void release(ResultSet rs, Statement stmt, Connection conn){
        try {
            if (rs != null) rs.close();
        }catch (SQLException e){
            e.printStackTrace();
        }
        release(stmt, conn);
    }
 
    public static void release(Statement stmt, Connection conn){
        try {
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
 
}

4、实现增删改查JdbcTest.java

package com.example.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class JdbcTest {
	 public static void main(String[] args) throws Exception{
		 jdbcSelect();
	     jdbcInsert();
	     jdbcUpdate();
	     jdbcDelete();
	 }
	
	/**
	 * 查询
	 * @throws Exception
	 */
    public static void jdbcSelect() throws Exception{
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try{
            conn = JdbcUtil.getConnection();
            stmt = conn.createStatement();
            String sql = "SELECT * FROM sys_role";
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                System.out.println(rs.getString("name"));
            }
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            JdbcUtil.release(rs, stmt, conn);
        }
    }
 
    /**
     * 插入
     * @throws Exception
     */
    public static void jdbcInsert() throws Exception{
        Connection conn = null;
        PreparedStatement stmt = null;
        try {
            conn = JdbcUtil.getConnection();
            String sql = "INSERT INTO sys_role(module, name, remark, available)"
                        +"values(?,?,?,?)";
            stmt = conn.prepareStatement(sql);
            String module = "张三";
            String name = "M";
            String remark = "备注";
            int available = 1;
            stmt.setString(1, module);
            stmt.setString(2, name);
            stmt.setString(3, remark);
            stmt.setInt(4, available);
            stmt.executeUpdate();
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            JdbcUtil.release(stmt, conn);
        }
    }
 
    /**
     * 更新
     * @throws Exception
     */
    public static void jdbcUpdate() throws Exception{
        Connection conn = null;
        PreparedStatement stmt = null;
        try {
            conn = JdbcUtil.getConnection();
            String sql = "update sys_role set name=? where id=?";
            stmt = conn.prepareStatement(sql);
            String name = "超级管理员";
            int id = 34;
            stmt.setString(1, name);
            stmt.setInt(2, id);
            stmt.executeUpdate();
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            JdbcUtil.release(stmt, conn);
        }
    }
 
    /**
     * 删除
     * @throws Exception
     */
    public static void jdbcDelete() throws Exception{
        Connection conn = null;
        PreparedStatement stmt = null;
        try {
            conn = JdbcUtil.getConnection();
            String sql = "delete from sys_role where id=?";
            stmt = conn.prepareStatement(sql);
            int id = 34;
            stmt.setLong(1, id);
            stmt.executeUpdate();
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            JdbcUtil.release(stmt, conn);
        }
    }
}
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:36:15  更:2022-03-10 22:39:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:53:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码