jdbc实现对数据的增删改查练习

数据表(Student表)

 主函数测试部分

    public static void main(String[] args) throws ParseException {
        //数据插入
//        Student student = new Student("s2000","jdbc","123456","男","110","西安",new Date(),"jdbc@126.com",1);
//        saveStu(student);
        //数据删除
//        deleteStu("4");
        //查询所有数据
//        List<Student> all = getAll();
//        for (Student student : all){
//            System.out.println(student);
//        }
        //输入指定studentno查找学生信息
        System.out.println(findOne("s2000"));
    }

主体部分:

1:辅助方法(根据输入的stuentno查找记录返回找到的记录个数)

 //(辅助方法)通过id查询是否存在该学生(若返回1,存在,否则不存在)
    private  static  int getResultCountByStuid(String id){
        int count = -1;
        JDBCUtils jdbcUtils = new JDBCUtils();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = jdbcUtils.getConnection();
            preparedStatement = connection.prepareStatement("select count(1) from student where StudentNo = ?");
            preparedStatement.setString(1,id);
           resultSet =  preparedStatement.executeQuery();
           while (resultSet.next()){
               count = resultSet.getInt(1);
           }
        }catch (Exception e){
            e.printStackTrace();
        }
        return count;
    }

2:数据插入

代码段:

 //数据插入
    public  static  void saveStu(Student student){
        String sql="insert into student values(?,?,?,?,?,?,?,?,?)";
        JDBCUtils jdbcUtils = new JDBCUtils();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        try {
           connection =   jdbcUtils.getConnection();
           preparedStatement =  connection.prepareStatement(sql);
           preparedStatement.setString(1,student.getStudentno());
           preparedStatement.setString(2,student.getStudentname());
           preparedStatement.setString(3,student.getLoginpassword());
           preparedStatement.setString(4,student.getSex());
            preparedStatement.setInt(5,student.getGradeid());
           preparedStatement.setString(6,student.getPhone());
           preparedStatement.setString(7,student.getAddress());
           preparedStatement.setDate(8,new java.sql.Date(student.getBorn().getTime()));
           preparedStatement.setString(9,student.getEmail());

           int rows = preparedStatement.executeUpdate();
            System.out.println(rows);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jdbcUtils.close(connection,preparedStatement,null);
        }
    }

测试效果:

输出数字为1,表示影响一行结果。

 这里看到表中成功添加学号为s2000的记录。

3:数据删除

代码段:

//数据删除
    public  static  void deleteStu(String id){
        JDBCUtils jdbcUtils = new JDBCUtils();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            if(getResultCountByStuid(id) == 1) {
                connection = jdbcUtils.getConnection();
                preparedStatement = connection.prepareStatement("delete from student where StudentNo = ?");
                preparedStatement.setString(1,id);
                int rows = preparedStatement.executeUpdate();
                if(rows == 1){
                    System.out.println("删除成功!");
                }else {
                    System.out.println("删除失败!");
                }
            }else {
                System.out.println("查无此人!!!!");
            }
        }catch (Exception e){
            e.printStackTrace();
        }

    }

测试效果:

表中没有studentno为1的,所以显示查无此人

 改变方法参数id为4,表中有studentno为4的,显示删除成功; 

数据表中studentno为4的已经删除成功。 

 4:查找所有学生信息

代码段:

//获取所有学生信息
    public static List<Student>  getAll(){
        JDBCUtils jdbcUtils = new JDBCUtils();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        List<Student> list = new ArrayList<>();
        try {
            connection = jdbcUtils.getConnection();
            preparedStatement = connection.prepareStatement( "select * from student ");
            resultSet =  preparedStatement.executeQuery();
            while (resultSet.next()){
               String sno = resultSet.getString("StudentNo");
               String sadd = resultSet.getString("Address");
               String spwd = resultSet.getString("LoginPwd");
               String sname = resultSet.getString("StudentName");
               String ssex = resultSet.getString("Sex");
               String sphone = resultSet.getString("Phone");
               int id = resultSet.getInt("GradeId");
               Date sdata = resultSet.getDate("BornDate");
               String semail = resultSet.getString("Email");
                Student student = new Student(sno,sname,spwd,ssex,sphone,sadd,sdata,semail,id);
               list.add(student);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jdbcUtils.close(connection,preparedStatement,null);
        }
        return list;
    }

测试结果:

输出表中所有学生信息

4:根据指定studentno查找该学生信息

代码段:

 //根据指定id查找学生信息
    public  static  Student findOne(String id){
     Student student = null;
        JDBCUtils jdbcUtils = new JDBCUtils();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = jdbcUtils.getConnection();
            preparedStatement = connection.prepareStatement( "select * from student where studentno=?");
            preparedStatement.setString(1,id);
            resultSet =  preparedStatement.executeQuery();
            while (resultSet.next()){
                String sno = resultSet.getString("StudentNo");
                String sadd = resultSet.getString("Address");
                String spwd = resultSet.getString("LoginPwd");
                String sname = resultSet.getString("StudentName");
                String ssex = resultSet.getString("Sex");
                String sphone = resultSet.getString("Phone");
                int Gid = resultSet.getInt("GradeId");
                Date sdata = resultSet.getDate("BornDate");
                String semail = resultSet.getString("Email");
                student = new Student(sno,sname,spwd,ssex,sphone,sadd,sdata,semail,Gid);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jdbcUtils.close(connection,preparedStatement,null);
        }
      return student;
    }

 测试结果:

输出指定学号学生信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java语言提供了丰富的API和工具库,能够方便地进行增删操作。下面是一些常见的增删练习例子。 1. 增加数据:使用数据库连接工具JDBC连接数据库,并使用SQL语句执行INSERT操作,将新的数据插入到表中。 ```java // 导入JDBC相关的类 import java.sql.*; // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL语句插入数据 String sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, "value1"); statement.setString(2, "value2"); statement.executeUpdate(); // 关闭数据库连接 statement.close(); conn.close(); ``` 2. 删除数据:同样使用JDBC连接数据库,使用SQL语句执行DELETE操作,删除满足条件的数据。 ```java // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL删除数据 String sql = "DELETE FROM your_table WHERE column1 = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, "value1"); statement.executeUpdate(); // 关闭数据库连接 statement.close(); conn.close(); ``` 3. 修数据:使用JDBC连接数据库,使用SQL语句执行UPDATE操作,修满足条件的数据。 ```java // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL修数据 String sql = "UPDATE your_table SET column1 = ? WHERE column2 = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, "new_value"); statement.setString(2, "value2"); statement.executeUpdate(); // 关闭数据库连接 statement.close(); conn.close(); ``` 4. 数据:同样使用JDBC连接数据库,使用SQL语句执行SELECT操作,询满足条件的数据。 ```java // 建立数据库连接 Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL数据 String sql = "SELECT * FROM your_table WHERE column1 = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, "value1"); ResultSet result = statement.executeQuery(); // 遍历询结果 while (result.next()) { System.out.println(result.getString("column1")); } // 关闭数据库连接 result.close(); statement.close(); conn.close(); ``` 以上是Java中进行增删练习的基本流程和示例代码。通过熟练掌握和灵活应用这些操作,可以实现数据库中数据的有效管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗着,享受着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值