代码中哪行需要修改?怎么改?


package 棉花糖和云朵妈妈;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class CustomerDAO {
    
    private Connection conn = null;
    private PreparedStatement p = null;

    public CustomerDAO() {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
        } 
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    
    
    public void Regist(int myid, String mypwd, String myname, int mymoney) {
        String sql;
        try {
            sql = "select * from atm where id=?";
            p = conn.prepareStatement(sql);
            p.setInt(1, myid);

            ResultSet rs = p.executeQuery();
            if (rs.next()) {
                System.out.println("不充许插入同样的ID");
                return;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            sql = "INSERT INTO mysql(id, money, name, pwd) VALUES (?,?,?,?)";
            p = conn.prepareStatement(sql);    
                p.setInt(1, myid);
                p.setInt(2, mymoney);
                p.setString(3, myname);                
                p.setString(4, mypwd);
                
            p.executeUpdate();
            
            System.out.println("注册成功!");
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            System.out.println("注册不成功!");
        }
    }
    
    public int login(String myName,String mypwd) {
        //接收业务类中登录方法传过来的用户名和密码
        //连接到MYSQL数据库进行查询验证。如果有记录,则证明这个用户是存在的,同时返回唯一标识这个用户记录的ID,以便后续进行针对这个用户的操作
        //如果在数据库的数据表中没有这个用户,则返回一个查无此人的标识,在这里针对我们调用的设计我们返回一个ID为-1的值,来表明查无此人。
        
        
        String sql="SELECT id FROM atm WHERE name=? and pwd=?";
        try {
            
            p = conn.prepareStatement(sql);
                        
            p.setString(1, myName);
            p.setString(2, mypwd);
            
        
            
            ResultSet rs = p.executeQuery();
            
            
            if (rs.next()) {
                return rs.getInt("id");
            }
        
//            rs.close();
//            p.close();
//            conn.close();    
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        
        return -1;
    }

    public Customer query(int id) {
        Customer cust = new Customer();
        
        try {
            String sql;
            sql= "select * from mysql where id = ?";
            
            p = conn.prepareStatement(sql);    
            
            p.setInt(1, id);
            
            ResultSet rs = p.executeQuery();
            
            if (rs.next()) {
                cust.setid(rs.getInt("id"));
                cust.setmoney(rs.getInt("money"));
                cust.setname(rs.getString("name"));
                cust.setpwd(rs.getString("pwd"));
            }
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            System.out.println("没有获取到相关用户信息");
        }
        
        return cust;

    }

    public void update_get(int id, int money) {
        
        String sql = "select * from mysql where id = ?";
        
        try {
            p = conn.prepareStatement(sql);
            p.setInt(1, id);
            
            ResultSet rs = p.executeQuery();
            
            if (rs.next()) {
                if (rs.getInt("money") < money) {
                    System.out.println("余额不足!");
                } else {
                    sql = "update mysql set money = money - ? where id = ?";
                    p = conn.prepareStatement(sql);
                    p.setInt(1, money);
                    p.setInt(2, id);
                    p.executeUpdate();
                    System.out.println("取款成功!");
                }
            }
        } catch (Exception e) {
            // TODO: handle exception
        }
    }

    public void update_save(int id, int money) {
        
        String sql = "update mysql set money = money + ? where id = ?";
    
        try {
            p = conn.prepareStatement(sql);
            
            p.setInt(1, money);
            p.setInt(2, id);
            
            p.executeUpdate();
            
            System.out.println("存款成功!");
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            System.out.println("存款不成功!");
        }
    }

    public void change(int myid, int inid, int money) {
        try {
            String sql = "select * from mysql where id = ?";
            
            p = conn.prepareStatement(sql);
            
            p.setInt(1, inid);
            
            ResultSet rs = p.executeQuery();
            
            if (rs.next()) {
                sql = "select * from mysql where id = ?";
                p = conn.prepareStatement(sql);
                p.setInt(1, myid);
                rs = p.executeQuery();
                
                if (rs.next()) {
                    if (rs.getInt("money") < money) {
                        System.out.println("余额不足!");
                        return;
                    } else {
                        sql = "update mysql set money = money - ? where id = ?";
                        p = conn.prepareStatement(sql);
                        p.setInt(1, money);
                        p.setInt(2, myid);
                        p.executeUpdate();
                        
                        sql = "update mysql set money = money + ? where id = ?";
                        p = conn.prepareStatement(sql);
                        p.setInt(1, money);
                        p.setInt(2, inid);
                        p.executeUpdate();
                    }
                }
            } else {
                System.out.println("卡号错误!");
            }
        } catch (Exception e) {
            // TODO: handle exception
        }
    }



    public int login(String mypwd) {
        // TODO 自动生成的方法存根
        return 0;
    }


}

img

img

img


我分析了一下,是数据库和代码不一致,但我不知道该怎么改,还请大家帮我指点指点。

你这厉害了啊 中文包名 ...

img


找不到数据库驱动 网上搜一下下载个驱动jar复制到自己项目里