Dao接口实现基本的数据库操作。增删改查

您所在的位置:网站首页 switch截图批量删除 Dao接口实现基本的数据库操作。增删改查

Dao接口实现基本的数据库操作。增删改查

2024-07-17 11:38| 来源: 网络整理| 查看: 265

新建web项目的博文和项目目录结构,请参考 上一篇

基本的目录结构和必要的.java文件已经创建成功,如图 这里写图片描述

上一节已经在dao层里写了一个 查询所有记录的方法。本节写的方法有 唯一查询、删除、插入、更新方法,并依次在Test类里面测试相应的方法

打开demo下的com.dao下的UserDao.java

1.UserDao.java 中的唯一查询、删除、插入、更新 方法 /** * 唯一查询 * @param id 通过id唯一查询数据库中的数据 [注:唯一查询的时候是 * 根据id查询的,所以要把数据库中的表的id字段设置为primary key] * @return Users的一个实例化对象,如果查找到了就返回的是数据库中 * 的一条记录 * 否则就是 null; */ public Users selectById(int id) { Users user = new Users(); //1.连接到数据库 Connection connection = db.getConnection(); //2.拼接sql语句 String sql = "select * from users where id="+id; try { System.out.println("准备查询...."); //3.执行发送到数据库的sql语句 Statement st = connection.createStatement();//创建一个Statement对象,用于向数据库发送数据 ResultSet rs = st.executeQuery(sql);//执行给定的sql语句,返回结果集对象 while (rs.next()) { user = new Users(rs.getInt(1), rs.getString(2), rs.getString(3)); //执行SQL语句查找到了数据,就把数据和实体类的一个对象映射起来。 } System.out.println("已查询!!!!"); } catch (SQLException e) { e.printStackTrace(); } finally { //4.关闭连接,释放资源 db.closeConnection(connection); } return user; } /** * 删除 * @param id * @return 删除的记录数--如果删除一条记录就返回1,若是没有删除成功则返回0 */ public int delete(int id) { int count = 0; //1.连接到数据库 Connection connection = db.getConnection(); //2.拼接sql语句 String sql = "delete from users where id="+id; try { System.out.println("准备删除id为:"+id+" 的记录..."); //3.执行发送到数据库的sql语句 Statement st = connection.createStatement(); count = st.executeUpdate(sql);//count接收方法的返回值,为0 表示删除失败 if (count != 0) { System.out.print("删除成功!!! "); } else { System.out.print("delete error!!! "); } } catch (SQLException e) { e.printStackTrace(); } finally { //4.关闭数据库连接,释放资源 db.closeConnection(connection); } return count; } /** * 插入 * @param user Users类的对象,插入数据库的是该条记录 * @return 插入到数据库的记录数--如果插入了一条记录就返回1,若是没有插入成功则返回0 */ public int insert(Users user) { int count = 0; Connection connection = db.getConnection(); String sql = "insert into users(id, username, password) values("+user.getId()+", '"+user.getUsername()+"', '"+user.getPasswards()+"')"; try { System.out.println("准备插入记录==="+user.getId()+":"+user.getUsername()+":"+user.getPasswards()+"..."); Statement st = connection.createStatement(); count = st.executeUpdate(sql); if (count != 0) { System.out.print("插入成功!!! "); } else { System.out.print("insert error!!! "); } } catch (SQLException e) { e.printStackTrace(); } finally { db.closeConnection(connection); } return count; } /** * 更新 * @param user Users类的对象,从数据库更新的是该条记录 * @return 从数据库更新的记录数--如果更新了一条记录就返回1,若是没有更新成功则返回0 */ public int update(Users user) { int count = 0; Connection connection = db.getConnection(); String sql = "update users set username='"+user.getUsername()+"' where id="+user.getId(); try { System.out.println("准备更新 id 为 "+user.getId()+"的记录..."); Statement st = connection.createStatement(); count = st.executeUpdate(sql); if (count != 0) { System.out.print("更新成功!!! "); } else { System.out.print("update error!!! "); } } catch (SQLException e) { e.printStackTrace(); } finally { db.closeConnection(connection); } return count; } 2.Test.java中依次对 唯一查询、删除、插入、更新 进行测试 UsersDao usersDao = new UsersDao();//引入dao层的UserDao.java文件 //测试唯一查询 Users u = usersDao.selectById(1001); System.out.println("查询信息为==id:"+u.getId()+" ,username:"+u.getUsername()+" ,password:"+u.getPasswards()+"\n"); int count; //测试删除 count = usersDao.delete(1004);//count用来接收返回值,若为0,则说明删除不成功 System.out.println(" 删除count="+count+"\n"); //测试插入 Users user = new Users(1005, "lenovo", "444444");//初始化一个Users对象 count = usersDao.insert(user); System.out.println(" 插入count="+count+"\n"); //测试更新 Users us = new Users(1001, "小米", ""); count = usersDao.update(us); System.out.println(" 更新count="+count+"\n");

测试结果 这里写图片描述

学习过程中,欢迎指出错误,很开心与大家共同进步!



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3