技术小白的博客------IDEA+Mysql下数据的增删改查

本文档介绍了技术新手如何在IDEA环境下进行MySQL数据库的数据操作。从新建Java项目开始,创建User类并自动生成相关方法,然后建立DBUtil类以封装数据库连接,接着创建UserDao类实现CRUD操作。最后在main函数中调用这些操作,展示了查询、添加、删除和更新User记录的完整流程。

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

  1. 新建java项目
    在这里插入图片描述
    在这里插入图片描述
  2. 建立bean、util包
    在这里插入图片描述
    3、在bean新建User类
    在这里插入图片描述
    4、在User类中添加相应属性,和数据库表项一致
    在这里插入图片描述
    5、右键单击选择generate,在分别自动生成构造函数、getter、setter、toString.
    在这里插入图片描述

代码片

User.java

package bean;

public class User {
    private int userid;
    private  String username;
    private String userpwd;

    public User(int userid, String username, String userpwd) {
        this.userid = userid;
        this.username = username;
        this.userpwd = userpwd;
    }

    public int getUserid() {
        return userid;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUserpwd() {
        return userpwd;
    }

    public void setUserpwd(String userpwd) {
        this.userpwd = userpwd;
    }

    public String toString() {
        return "User{" +
                "userid=" + userid +
                ", username='" + username + '\'' +
                ", userpwd='" + userpwd + '\'' +
                '}';
    }
}

6、在util包下新建DBUtil类,用于封装数据库的连接和关闭操作。

代码片

DBUtil.java

package util;

import java.sql.*;

public class DBUtil {
    public static Connection  DBConnection()
    {
        Connection conn=null;
        String driver="com.mysql.jdbc.Driver";
        String url="jdbc:mysql://localhost:3306/db_test";
        String user="root";
        String password="123456";
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            if (!conn.isClosed()) {
                System.out.println("数据库连接成功!");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return conn;

    }
    public static void CloseDB(ResultSet resultSet,Statement stmt,Connection conn)
    {
        if (resultSet != null) {
        try {
            resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

7、在util类中新建UserDao类,用于保存User的增删改查。

代码片

UserDao.java

package util;

import bean.User;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class UserDao {
    public static void insertUser(int userid, String username, String userpwd) {
        Connection conn = null;
        PreparedStatement presta = null;
        conn = DBUtil.DBConnection();
        boolean insertflag = true;
        String sql = "insert into user values(?,?,?)";
        try {
            presta = conn.prepareStatement(sql);
            presta.setInt(1, userid);
            presta.setString(2, username);
            presta.setString(3, userpwd);
            presta.execute();

        } catch (SQLException e) {
            insertflag = false;
            e.printStackTrace();
        } finally {
            if (insertflag) {
                System.out.println("添加纪录成功");
            } else {
                System.out.println("添加记录失败");
            }
            DBUtil.CloseDB(null, presta, conn);
        }
    }

    public static List<User> findAllUser() {
        List<User> list = new ArrayList<>();

        Connection conn = null;
        Statement stmt = null;
        ResultSet resultSet = null;

        try {
            conn = DBUtil.DBConnection();
            stmt = conn.createStatement();
            String sql = "SELECT * FROM user";
            resultSet = stmt.executeQuery(sql);
            while (resultSet.next()) {
                int userid = resultSet.getInt(1);
                String username = resultSet.getString(2);
                String userpwd = resultSet.getString(3);
                User user = new User(userid, username, userpwd);
                list.add(user);
            }
            System.out.println(list.toString());
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败");
        } finally {
            DBUtil.CloseDB(resultSet, stmt, conn);
        }
        return list;
    }

    public static void deleteUser(int userid) {
        Connection conn = null;
        PreparedStatement presta = null;
        conn = DBUtil.DBConnection();
        boolean deleteflag = true;
        String sql = "delete from user where userid=?";
        try {
            presta = conn.prepareStatement(sql);
            presta.setInt(1, userid);
            presta.execute();

        } catch (SQLException e) {
            deleteflag = false;
            e.printStackTrace();
        } finally {
            if (deleteflag) {
                System.out.println("删除纪录成功");
            } else {
                System.out.println("删除记录失败");
            }
            DBUtil.CloseDB(null, presta, conn);
        }
    }

    public static void updateUser(int userid, String username, String userpwd) {
        Connection conn = null;
        PreparedStatement prest = null;
        String sql=null;
        conn = DBUtil.DBConnection();
        boolean updateflag = true;

        try {

            if(username==null)
            {
                sql = "update user set userpwd=?where userid=?";
                prest = conn.prepareStatement(sql);
                prest.setString(1, userpwd);
                prest.setInt(2, userid);
            }
            else if(userpwd==null)
            {
                sql = "update user set username=? where userid=?";
                prest = conn.prepareStatement(sql);
                prest.setString(1, username);
                prest.setInt(2, userid);
            }
            else
            {
                sql = "update user set username=?,userpwd=? where userid=?";
                prest = conn.prepareStatement(sql);
                prest.setString(1, username);
                prest.setString(2, userpwd);
                prest.setInt(3, userid);
            }

            prest.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if (updateflag) {
                System.out.println("修改纪录成功");
            } else {
                System.out.println("修改记录失败");
            }
            DBUtil.CloseDB(null, prest, conn);
        }
    }
}


8、在main函数中调用增删改查操作。

代码片

Main.java

package com.company;

import util.UserDao;

public class Main {

    public static void main(String[] args) {

       /*查询全部记录
        UserDao.findAllUser();
       */

        /*添加记录
        int userid=003;
        String username="xiaoyingying";
        String userpwd="12345678";
        UserDao.insertUser(userid,username,userpwd);
        */

        /*删除记录
        int userid=003;
        UserDao.deleteUser(userid);
        */


        /*更新记录
        int userid=002;
        String username="coder123";
        UserDao.updateUser(userid,username,null);
        */


    }
}


9、运行结果
(1)查询所有user:
在这里插入图片描述
(2)添加user
在这里插入图片描述
(3)删除user
在这里插入图片描述
(4)更新user
在这里插入图片描述
至此数据库基本的增删改查工作已经完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值