用Java实现增删改查

博客介绍了基于JDBC的操作流程。首先编写student类,接着创建获取文件资源并注册驱动的类,文件内容需根据自身数据库填写,然后实现增删改查功能,最后编写测试类。

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

1.先写一个student类:

public class student {
    private String name;
    private String sex;
    private String brithday;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public student() {
    }

    public student(String name, String sex, String brithday) {
        this.name = name;
        this.sex = sex;
        this.brithday = brithday;
    }

    public String getBrithday() {
        return brithday;
    }

    public void setBrithday(String brithday) {
        this.brithday = brithday;
    }

    @Override
    public String toString() {
        return "student{" +
                "name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", brithday='" + brithday + '\'' +
                '}';
    }
}

2.写一个可以获取文件上的资源并注册驱动的类(文件自己按照自己的数据库填)

public class Deu_tils {
    private static String diverClass;   //注册驱动的jar包地址值
    private static String url;  //数据库的表格地址值
    private static String user; //Mysql的用户名
    private static String password; //Mysql的用户密码

    static {
        ResourceBundle rb=ResourceBundle.getBundle("dbinfo");   //获取文件的资源
        diverClass=rb.getString("driverClass");
        url=rb.getString("url");
        user=rb.getString("user");
        password=rb.getString("password");
        try {
            Class.forName(diverClass);  //注册驱动
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**
     * 得到资源的方法
     * @return 资源
     * @throws SQLException
     */
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,user,password);
    }
}
  • 3.实现增删改查
    public class DoLogin {
        private String sql;
        private PreparedStatement pstmt;
        private Connection conn;
    
        /**
         * 增加数据库里面一条学生对象信息的方法
         *
         * @param s
         * @return
         */
        public void Insert(student s) throws SQLException {
            Connection conn = Deu_tils.getConnection();
            int i = 0;
            sql = "INSERT INTO `text2`.`student`(`name`, `sex`, `brithday`) VALUES (?,?,?)";
                pstmt =conn.prepareStatement(sql);
                pstmt.setString(1, s.getName());
                pstmt.setString(2, s.getSex());
                pstmt.setString(3, s.getBrithday());
                i = pstmt.executeUpdate();
                pstmt.close();
                conn.close();
        }
    
        /**
         *
         * 根据数据库id改名字性别和生日的方法
         * @param s
         * @return
         * @throws SQLException
         */
        public void Update(int id,student s) throws SQLException {
            Connection conn = Deu_tils.getConnection();
            int i = 0;
            sql ="UPDATE `text2`.`student` SET `name` = '"+s.getName()+"', `sex` = '"+s.getSex()+"', `brithday` = '"+s.getBrithday()+"' WHERE `id` = "+id;
                pstmt =conn.prepareStatement(sql);
                i = pstmt.executeUpdate();
                pstmt.close();
                conn.close();
        }
    
        /**
         * 根据对象名删除数据库对象信息的方法
         * @param name
         * @return
         * @throws SQLException
         */
        public void Delete(String name) throws SQLException {
            Connection conn = Deu_tils.getConnection();
            int i = 0;
            sql ="DELETE FROM `text2`.`student` WHERE `name` = '"+name+"'";
                pstmt =conn.prepareStatement(sql);
                i = pstmt.executeUpdate();
                pstmt.close();
                conn.close();
        }
    
        /**
         *  查询表格的方法
         * @throws SQLException
         */
        public void Select() throws SQLException {
            Connection conn = Deu_tils.getConnection();
            sql = "SELECT * FROM student;";
            pstmt = conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();
            student s = new student();
            while (rs.next()) {
                System.out.println(rs.getObject("id"));
                System.out.println(rs.getObject("name"));
                System.out.println(rs.getObject("sex"));
                System.out.println(rs.getObject("brithday"));
                System.out.println("---------------------------");
            }
            conn.close();
            pstmt.close();
            rs.close();
        }
    }

     

4.测试类:

public class Text {
    public static void main(String[] args) throws SQLException {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入录入对象的名字:");
        String names=sc.next();
        System.out.println("请输入录入对象的性别:");
        String sexs=sc.next();
        System.out.println("请输入录入对象的生日:");
        String bris=sc.next();
        student s1=new student(names,sexs,bris);
        DoLogin dl1=new DoLogin();
        dl1.Insert(s1);
        dl1.Select();

        System.out.println("请输入要改对象的id:");
        int id=sc.nextInt();
        System.out.println("请输入要改的数据值名字:");
        String name=sc.next();
        System.out.println("请输入要改的数据值性别:");
        String sex=sc.next();
        System.out.println("请输入要改的数据值生日:");
        String bri=sc.next();
        student s2=new student(name,sex,bri);
        DoLogin dl2=new DoLogin();
        dl2.Update(id,s2);
        dl2.Select();

        System.out.println("请输入您要删除的对象姓名:");
        String namess=sc.next();
        DoLogin dl3=new DoLogin();
        dl3.Delete(namess);
        dl3.Select();
    }
}
idnamesexbrithday
1张三1999-02-13
2李四1999-08-16
    

 

最后:能力有限,如有不对之处,还请指教。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值