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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JDBC连接数据库Mysql(附增删改查) -> 正文阅读

[大数据]JDBC连接数据库Mysql(附增删改查)

作者:recommend-item-box type_blog clearfix
package com.example.java_algorithms;

import com.mysql.cj.jdbc.Driver;
import io.swagger.models.auth.In;
import org.slf4j.LoggerFactory;

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.logging.Logger;
/*
SQL脚本:
CREATE DATABASE `monitor` DEFAULT CHARACTER SET utf8 ;
        USE `monitor`;
        DROP TABLE IF EXISTS `t_user`;
        CREATE TABLE `t_user` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `email` varchar(200) DEFAULT NULL COMMENT 'QQ邮箱',
        `password` varchar(50) DEFAULT NULL COMMENT '密码',
        PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
        insert  into `t_user`(`id`,`email`,`password`) values (1,'123456','1234564'),(2,'10000','141414'),(3,'小环','123456'),(4,'小环','123456');
 */
/**
 * 连接数据库 导包:mysql-connector-java
 */
public class JDBC {
    /**
     * 连接数据库
     * @return
     */
    public static Connection connectMysql() {
        /*
        定义连接数据库需要的东西
         */
        //定义url
        String url="jdbc:mysql://localhost:3306/monitor?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
        //定义驱动
        String driverName="com.mysql.cj.jdbc.Driver";
        //用户名
        String username="root";
        //密码
        String password="123456";
        /*
        1. 加载驱动
         */
        try {
            Class.forName(driverName);
            //成功后,则连接数据库.输入url,用户名、密码
            Connection connection=DriverManager.getConnection(url,username,password);
            System.out.println("数据库连接成功!");
            return connection;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
            System.out.println("数据库连接失败!");
        }catch (SQLException e){
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }
        return null;
    }
    /**
     * 数据库的增删改查语句
     */
    /**
     *查询所有
     */
    static List<HashMap<String,Object>> selectAllUser(Connection connection){
        String sql="SELECT id,email,password FROM t_user";

        try {
            //执行
            PreparedStatement preparedStatement=connection.prepareStatement(sql);
            System.out.println("执行成功:");
            //执行SQL语句
            //定义接收的对象
            ResultSet resultSet=preparedStatement.executeQuery(sql);
            //定义数组接收遍历的对象,每一个元素类型--HashMap对象
            List<HashMap<String,Object>> hashMapList=new ArrayList<>();
            while (resultSet.next()){
                HashMap<String,Object> hashMap=new HashMap<>();
                hashMap.put("id",resultSet.getInt("id"));
                hashMap.put("email",resultSet.getString("email"));
                hashMap.put("password",resultSet.getString("password"));
                hashMapList.add(hashMap);
            }
            return hashMapList;
        }catch (SQLException e){
            e.printStackTrace();
            return null;
        }

    }

    /**
     * 增
     */
    public static void addUser(Connection connection,HashMap<String,Object>hashMap){
        String sql = "INSERT INTO t_user(email,password) VALUES(?,?)";
        try {
            PreparedStatement preparedStatement=connection.prepareStatement(sql);
            preparedStatement.setString(1,hashMap.get("email").toString());
            preparedStatement.setString(2,hashMap.get("password").toString());
            int i=preparedStatement.executeUpdate();
            if(i>0){
                System.out.println("添加成功");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除
     * @param
     *
     */

    public static void delete(Connection connection,String email){
        String sql ="DELETE FROM t_user WHERE email=?";
        /*
        DELETE FROM t_user;删除所有
        TRUNCATE t_user;(id重新自增)
         */
        try {
            PreparedStatement preparedStatement=connection.prepareStatement(sql);
            preparedStatement.setString(1,email);
            int i=preparedStatement.executeUpdate();
            if(i>0) {
                System.out.println("删除成功");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 改
     */
    public static void updateUser(Connection connection,String email,String password){
        String sql="UPDATE t_user SET password=? WHERE email =?";
        try {
            PreparedStatement preparedStatement=connection.prepareStatement(sql);
            preparedStatement.setString(1,password);
            preparedStatement.setString(2,email);
            int i=preparedStatement.executeUpdate();
            if(i>0){
                System.out.println("修改成功!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        //连接数据库
        Connection connection=connectMysql();
        //查询t_user表中的所有信息
        List<HashMap<String,Object>> hashMapList=selectAllUser(connection);
        System.out.println("查询所有:"+hashMapList);
        //增加数据
        HashMap<String,Object> addHashMap=new HashMap<>();
        addHashMap.put("email","小红");
        addHashMap.put("password","123456");
        addUser(connection,addHashMap);
        //删除
        delete(connection,"小环");
        //修改
        updateUser(connection,"小红","123456789000");
    }
}

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:19:12 
 
开发: 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 5:18:56-

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