JAVA——基于Maven项目所做JDBC的学生管理系统

    技术2023-06-26  98

    创建一个Maven web项目

    项目框架如图所示,将所需要的jar包网站搜索之后复制进pom.xml文件中

    将框架确定之后实现项目的增删改查功能

    一 、增加

    首先使用sql语句确定数据库中是否已经有所要注册的学生id

    String sql = "select id from user_info where id = ?"; if(new DBLink().exist(sql, id)) { System.out.println("该id已存在,操作终止"); return; }

    随后将所输入信息通过sql语句,再通过DBLink中的update方法加入到数据库中`

    sql = "insert into user_info (id,name,mobile,address) values(?,?,?,?)"; if(new DBLink().update(sql,id,name,mobile,address)) { System.out.println("注册成功"); return; }

    二、删除

    输入学生id,通过sql语句将数据库中所对应的学生信息删除

    String id = scanner.next(); String sql = "delete from user_info where id = ?"; if(new DBLink().update(sql, id)) { System.out.println("删除成功"); return; }

    如果学生id不存在那么将不会执行删除语句,即直接输出删除失败并且直接终止程序执行

    System.out.println("id不存在,删除失败"); return;

    三、修改

    首先通过id查找所要修改的学生信息

    String id = scanner.next(); String sql = "select id from user_info where id = ?"; if(!new DBLink().exist(sql, id)) { System.out.println("该id不存在,操作终止"); return; }

    查找成功之后,录入所要求修改的其他学生信息``

    System.out.println("请输入修改后的name"); String name = scanner.next(); System.out.println("请输入修改后的mobile"); String mobile = scanner.next(); System.out.println("请输入修改后的address"); String address = scanner.next();

    通过sql语句和update方法将所要修改的学生信息加入表格当中

    sql = "update user_info set name=?,mobile=?,address=? where id = ?"; if(new DBLink().update(sql, name,mobile,address,id)) { System.out.println("修改成功"); return; }

    四、查找

    首先创建一个类继承接口IRowMapper,并重写其方法使其输出所要查找的学生信息

    class RowMapper implements IRowMapper{ public void rowMapper(ResultSet rs) { try { while(rs.next()) { String Id = rs.getString("id"); String name = rs.getString("name"); String mobile = rs.getString("mobile"); String address = rs.getString("address"); System.out.println("您所查询学生信息为:id="+Id+"name="+name+"mobile="+mobile+"address="+address); } } catch (SQLException e) { e.printStackTrace(); } } }

    写出sql语句使其能将整个学生信息全部查找对应

    String sql = "select id,name,mobile,address from user_info where id = ?";

    创建RowMapper对象和DBLink对象,再调用DBLink中的select方法:

    DBLink db = new DBLink(); RowMapper rowmapper = new RowMapper(); db.select(sql, rowmapper,id); return;

    即完成

    拓展:使用lambda表达式精简第四步查找的代码

    首先将版本jdk升级,需要在pom.xml中拷贝以下代码

    <profiles> <profile> <id>jdk1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles>

    然后点击手动升级即可

    简化版本(初级)

    IRowMapper rowmapper = (rs)->{ try { while(rs.next()) { String Id = rs.getString("id"); String name = rs.getString("name"); String mobile = rs.getString("mobile"); String address = rs.getString("address"); System.out.println("您所查询学生信息为:id="+Id+"name="+name+"mobile="+mobile+"address="+address); } } catch (SQLException e) { e.printStackTrace(); } }; db.select(sql, rowmapper,id); return; }

    简化版本(高级)

    将DBLink中的select方法与lambda表达式融合为一体

    db.select(sql, rs->{ try { while(rs.next()) { String Id = rs.getString("id"); String name = rs.getString("name"); String mobile = rs.getString("mobile"); String address = rs.getString("address"); System.out.println("您所查询学生信息为:id="+Id+"name="+name+"mobile="+mobile+"address="+address); } } catch (SQLException e) { e.printStackTrace(); } },id); return;
    Processed: 0.018, SQL: 9