JDBC增删查改

【用Java实现的JDBC的增删查改】

JDBC的增删查改登陆

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

增删查改

// TbuserDAO.java
import util.DButil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class TbuserDAO {
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    public List<Tbuser> findAll() {
        List<Tbuser> users = new ArrayList<>();
        try {
            connection = DButil.getConnection(DButil.qudong, DButil.url);
//                    Class.forName("com.mysql.jdbc.Driver");
//                    //2.创建连接
//                    connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ningda?useSSL=true&characterEncoding=utf-8&user=root&password=123456"
//                    );
            //3.写sql

            String sql = "select * from tb_user";
            //4.得到statement对象
            preparedStatement = connection.prepareStatement(sql);
            //5.执行sql
            resultSet = preparedStatement.executeQuery();
            //6.处理结果集
            while (resultSet.next()) {
                Tbuser user = new Tbuser();
                user.setId(resultSet.getInt(1));
                user.setUsername(resultSet.getString(2));
                user.setPassword(resultSet.getString(3));
                users.add(user);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        //7.关闭资源
        finally {
            DButil.closeAll(resultSet, preparedStatement, connection);
        }
        return users;
    }
    public void update(String username,String password,int id){
        try {
        connection=DButil.getConnection(DButil.qudong,DButil.url);
        String sql2 = "update tb_user set username=?,password=? where id=?";
        preparedStatement = connection.prepareStatement(sql2);
        preparedStatement.setString(1,username);
        preparedStatement.setString(2,password);
        preparedStatement.setInt(3,id);
        preparedStatement.executeUpdate();
        System.out.println("修改成功");
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        DButil.closeAll(null,preparedStatement,connection);
    }
    }
    public void insert(String username,String password){
        try {
            connection=DButil.getConnection(DButil.qudong,DButil.url);
//            System.out.print("请输入要插入的信息");
//            System.out.print("\n");
//            Scanner xm = new Scanner(System.in);
//            System.out.print("请输入添加的名字");
//            System.out.print("\n");
//            String a = xm.nextLine();
//            Scanner mm = new Scanner(System.in);
//            System.out.print("请输入密码");
//            System.out.print("\n");
//            String b = mm.nextLine();
            String sql1 = "insert into tb_user(username,password) values(?,?)";
            preparedStatement = connection.prepareStatement(sql1);
            preparedStatement.setString(1, username);
            preparedStatement.setString(2, password);
            preparedStatement.executeUpdate();
            System.out.println("添加成功");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DButil.closeAll(null,preparedStatement,connection);
        }
    }
    public List<Tbuser> search(String username){
        List<Tbuser> users = new ArrayList<>();
        try {
            connection=DButil.getConnection(DButil.qudong,DButil.url);
            String sql = "select * from tb_user where username like ?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1,"%"+username+"%");
            resultSet=preparedStatement.executeQuery();
            while (resultSet.next()) {
                Tbuser user = new Tbuser();
                user.setId(resultSet.getInt(1));
                user.setUsername(resultSet.getString(2));
                user.setPassword(resultSet.getString(3));
                users.add(user);
            }
            System.out.println("查找成功");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DButil.closeAll(resultSet,preparedStatement,connection);
        }
        return users;
    }
    public void delete(int id){
        try {
            connection=DButil.getConnection(DButil.qudong,DButil.url);
            String sql3 = "delete  from tb_user where id=?";
            preparedStatement = connection.prepareStatement(sql3);
            preparedStatement.setInt(1,id);
            preparedStatement.executeUpdate();
            System.out.println("删除成功");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DButil.closeAll(null,preparedStatement,connection);
        }
    }
    public boolean doLogin(String username,String password)throws SQLException{
        try {
            connection = DButil.getConnection(DButil.qudong, DButil.url);
            String sql = "select * from tb_user where username=? and password=?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, username);
            preparedStatement.setString(2, password);
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()) {
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DButil.closeAll(resultSet, preparedStatement, connection);
        }
            return false;
    }
}
// DButil.java
package util;
import java.sql.*;
public class DButil {
    public final static String qudong="com.mysql.jdbc.Driver";
    public final static String  url="jdbc:mysql://127.0.0.1:3306/ningda?useSSL=true&characterEncoding=utf-8&user=root&password=123456";
    public static Connection getConnection(String qudong,String url) throws Exception{
        Class.forName(qudong);
        //2.创建连接
        Connection connection = DriverManager.getConnection(url);
        return connection;
    }
    public static  void closeAll(ResultSet resultSet, PreparedStatement preparedStatement,Connection connection){
        try {
            if (resultSet!=null){
            resultSet.close();}
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (preparedStatement!=null){
            preparedStatement.close();}
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (connection!=null){
            connection.close();}
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

}
// Tbuser.java
public class Tbuser {
    private int id;
    private String username;
    private String password;
    public int getId() {
        return id;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public void setId(int id) {
        this.id = id;
    }

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

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "Tbuser{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

}
// TbuserService.java
import java.awt.*;
import java.sql.SQLException;
import java.sql.SQLSyntaxErrorException;
import java.util.List;
import java.util.Scanner;
public class TbuserService {
    public static void main(String[] args) throws SQLException {

        boolean k=true;
        while(k) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("----------------------欢迎登入音乐系统------------------------");
            System.out.print("\n");
            System.out.print("------------------------请输入用户名--------------------------");
            System.out.print("\n");
            String username = scanner.next();
            System.out.print("-------------------------请输入密码---------------------------");
            System.out.print("\n");
            String password = scanner.next();
            TbuserDAO usedao = new TbuserDAO();
            boolean flag = usedao.doLogin(username, password);
            if (flag) {
                System.out.print("Welcome!");
                System.out.print("\n");
                System.out.print("------------------1.音乐管理2.用户管理3.退出------------------");
                System.out.print("\n");
                int a=scanner.nextInt();
                if (a==1){
                    boolean m=true;


                }
                if (a==2) {
                    boolean n = true;
                    while (n) {
                        System.out.print("---1.显示用户2.用户修改3.用户增加4.用户删除5.查找用户6.退出---");
                        System.out.print("\n");
                        int b = scanner.nextInt();
                        if (b == 1) {
                            TbuserDAO text = new TbuserDAO();
                            List<Tbuser> users = text.findAll();
                            System.out.print(users);
                            System.out.print("\n");
                        }
                        if (b == 2) {
                            System.out.print("------------------请输入要修改的信息的id:--------------------");
                            System.out.print("\n");
                            int id=scanner.nextInt();
                            System.out.print("------------------请输入要修改的用户姓名:-------------------");
                            System.out.print("\n");
                            String username1=scanner.next();
                            System.out.print("--------------------请输入要修改的密码:----------------------");
                            System.out.print("\n");
                            String password1=scanner.next();
                            usedao.update(username1,password1,id);
                        }
                        if (b == 3) {
                            System.out.print("------------------请输入要增加的用户姓名:-------------------");
                            System.out.print("\n");
                            String username1=scanner.next();
                            System.out.print("-------------------请输入要增加的密码:----------------------");
                            System.out.print("\n");
                            String password1=scanner.next();
                            usedao.insert(username1,password1);

                        }
                        if (b == 4) {
                            System.out.print("--------------------请输入要删除的id:-----------------------");
                            System.out.print("\n");
                            int id=scanner.nextInt();
                            usedao.delete(id);
                        }
                        if (b == 5) {
                            System.out.print("---------------请输入要查找的姓名或者关键字:-----------------");
                            System.out.print("\n");
                            String username2=scanner.next();
                            TbuserDAO text = new TbuserDAO();
                            List<Tbuser> users = text.search(username2);
                            System.out.print(users);
                            System.out.print("\n");
                        }
                        if (b == 6){
                            k = false;
                            System.exit(-1);
                        }
                    }
                }
            } else {
                System.out.print("----------------------Sorry,try again!------------------------");
                System.out.print("\n");
            }
//            k=false;
        }
    }
}

该代码显示了用户登陆和用户的增删查改,以上若有不足的地方希望大家谅解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值