m0_59859095 2021-07-01 12:10 采纳率: 100%
浏览 69
已采纳

连接数据库想实现增删改查的功能,该怎么继续写?

package com.view;

import java.sql.SQLException; import java.util.List; import java.util.Scanner;

import com.Dao.GuestDao; import com.Model.Guest; public class MainView { public static void Index_View() throws SQLException{ System.out.println("1.注册"); System.out.println("2.登录"); Scanner sc=new Scanner(System.in); int num=sc.nextInt(); if(num==1) { Login(); } else if(num==2) Login_user(); else { System.out.println("输入非法字符,退出程序"); System.exit(0); } } public static Guest Login() throws SQLException { System.out.println("\t\t"); System.out.println("1.姓名:"); Scanner sc=new Scanner(System.in); String in_guest=sc.nextLine(); while(GuestDao.judgeName(in_guest)==-1){ System.out.println("用户名重复"); System.out.println("请重新输入注册用户名:"); in_guest = sc.nextLine(); } System.out.println("2.手机号:"); String tel=sc.nextLine(); System.out.println("3.身份证号:"); String id=sc.nextLine(); Guest guest=new Guest(); guest.setName(in_guest); guest.setTel(tel); guest.setId(id); GuestDao.LoginGuest(guest); System.out.println("3.注册成功,将跳转到首页"); index(guest); return guest;

}

public static void Login_user() throws SQLException{
    System.out.println("*\t\t*");
    System.out.println("1.姓名:");
    Scanner sc=new Scanner(System.in);
    String in_user=sc.nextLine();
    System.out.println("2.手机号:");
    String tel=sc.nextLine();
    System.out.println("3.登录成功");
    Guest guest=new Guest();
    index(guest);
}
public static void list() throws SQLException {
    GuestDao dao=new GuestDao();
    List<Guest> list=dao.getAll();
    for(Guest guest:list) {
    System.out.println("姓名:+getName()");
    System.out.println("手机号:+getTel()");
    System.out.println("房间号:+getNum()");
    }
}
public static void delete() {
    GuestDao dao=new GuestDao();
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入要删除的姓名:");
    Integer deleted=Integer.valueOf(sc.next());
    dao.delete(deleted);
}
private static void index(Guest guest) throws SQLException {
    // TODO Auto-generated method stub
    System.out.println("*欢迎"+guest.getName()+"登录");
    System.out.println("1.查询所有顾客住房信息");
    System.out.println("2.顾客入住");//增加信息
    System.out.println("3.顾客退房");//删除信息
    System.out.println("4.查询房间信息");
    System.out.println("5.顾客换房间");
    Scanner sc = new Scanner(System.in);
    int type = sc.nextInt();
    switch(type){
    case 1:list();break;
    case 2:;break;
    case 3:delete();break;
    case 4:;break;
    case 5:;break;
    default:break;
    }
}

public static void main(String []args) throws SQLException {
    Index_View();
}

} package com.Util;

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

public class DBUtil { public static Connection conn; public PreparedStatement stsm; public ResultSet rs; public static DBUtil db; public DBUtil(){

}

public static DBUtil getDBInstance(){ if(db == null) { db = new DBUtil(); return db; } return db; }

public static Connection getConn(){
    //1.注册
    try {
        Class.forName("com.mysql.jdbc.Driver");
    //2.打开数据库连接
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");            
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        System.out.println(e);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        System.out.println(e);
    }
    return conn;
}

public void DBclose() throws SQLException{
    if(rs != null)
        rs.close();
    if(stsm != null)
        stsm.close();
    if(conn != null)
        conn.close();
}

public ResultSet getRs(String sql){
    try {
        stsm = conn.prepareStatement(sql);
        rs = stsm.executeQuery();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return rs;
}

public ResultSet getRs(String sql,Object ...oj){
    try {
        stsm = conn.prepareStatement(sql);
        for(int i=0;i<oj.length;i++)
            stsm.setObject(i+1, oj[i]);
        rs = stsm.executeQuery();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return rs;
}

public int DaoUpdate(String sql){
    try {
        stsm = conn.prepareStatement(sql);
        stsm.executeUpdate();
        return 1;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        
    }
    return 0;
}

public int DaoUpdate(String sql,Object ...oj){
    try {
        stsm = conn.prepareStatement(sql);
        for(int i=0;i<oj.length;i++)
            stsm.setObject(i+1, oj[i]);
        stsm.executeUpdate();
        return 1;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
    }
    return 0;
}
public static void main(String[] args) throws SQLException {
    // TODO Auto-generated method stub
    DBUtil.getDBInstance();
    db.getConn();
    db.getRs("select * from guest ");
    db.getRs("select *from room");
    while(db.rs.next()){
        String name = db.rs.getString("name");
        String tel = db.rs.getString("tel");
        String id=db.rs.getString("id");
        System.out.println(name+"\t"+tel+"\t"+id);
    }
    
    db.DBclose();
}

} package com.Dao;

import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Scanner;

import com.Model.Guest; import com.Util.DBUtil;

public class GuestDao { public GuestDao() { DBUtil. getDBInstance(); } public static int judgeName(String sr) throws SQLException { DBUtil. getDBInstance(); DBUtil.db.getConn(); DBUtil.db.getRs("select * from guest where name = ?", sr); if(DBUtil.db.rs.next()){ return -1; } return 1; } public static int LoginGuest(Guest guest) { DBUtil. getDBInstance(); DBUtil.db.getConn(); String sql="insert into guest(name,id,tel) values(?,?,?)"; if(DBUtil.db.DaoUpdate(sql,guest.getName(),guest.getTel(),guest.getId())==1){ System.out.println("成功写入\t*"+guest.getName()+"*\t用户信息....."); return 1; }else System.out.println("写入失败"); return 0;
} public List getAll() throws SQLException { Connection conn=null; PreparedStatement stsm=null; ResultSet rs =null; List guList=new ArrayList<>(); try { conn=DBUtil.getConn(); String sql="select *from room"; conn.createStatement(); rs=stsm.executeQuery(sql); while(rs.next()) { int num=rs.getInt("num"); String name=rs.getString("name"); int price=rs.getInt("price"); String type=rs.getString("type"); String state=rs.getString("state"); }} public static void delete(Integer deleted) { Connection conn=null; PreparedStatement stsm=null; try { conn=DBUtil.db.getConn(); String sql="delete from guest where name=?"; stsm = conn.prepareStatement(sql); stsm.setInt(3, deleted); stsm.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }System.out.println("删除成功");

}}

package com.Model;

public class Guest { private String name; private String tel; private String id; public Guest(String name,String tel,String id) { this.name=name; this.tel=tel; this.id=id; } public Guest() {

}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getTel() {
    return tel;
}
public void setTel(String tel) {
    this.tel = tel;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}

} package com.Model;

public class room { private int room_num; private Guest guest; private int price; private String type; private String state; public room() { guest=new Guest(); } public room(int num,int price,String type,String state) { this.room_num=num; this.price=price; this.type=type; this.state=state; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getState() { return state; } public void setState(String state) { this.state = state; } public int getRoom_num() { return room_num; } public void setRoom_num(int room_num) { this.room_num = room_num; } public Guest getGuest() { return guest; } public void setGuest(Guest guest) { this.guest = guest; } }

  • 写回答

3条回答 默认 最新

  • li.siyuan 2021-07-01 12:13
    关注

    你这代码有点乱,要不要私信发我 我给你看一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加