网站封装(进阶必备)

在封装SQL语句之前,我们得知道什么是DAO封装与实体类以及JDBC工具类的封装与连接数据库的具体流程。封装SQL语句的好处:封装SQL语句后就可以导包,给其他的工程使用,大大降低开发的强度,减少代码的冗余。如何导包给其他工程使用请看 IDEA的JAR包生成一、DAO封装1、介绍1)DAO( DataBase Access Object ):数据库访问对象2)作用:数据库访问对象在开发时提供针对某张表的操作细节【增删改查】3)优点:优点1,在管理系统开发时,通过数据库访问对象可以避免反复的 SQL 命令书写优点2,在管理系统开发时,通过数据库访问对象可以避免反复的 JDBC 开发步骤书写(4)DAO类:提供数据库访问对象的类2、DAO类开发规则1)一个DAO类封装的是一张表操作细节2)DAO类命名规则:表名 + Dao。比如封装 emp 表操作细节:EmpDao;封装Dept表操作细节:DeptDao3) DAO类所在包命名规则:公司网站域名.dao , 比如 com.bjpowernode.dao二、实体类1、一个实体类用于描述一张表结构2、实体类的类名应该与关联的表名保持一致,但是可以忽略大小写DEPT ———–> public class Dept{ }3、实体类的属性应该与关联的表文件字段保持一致4、实体类的一个实例对象用于在内存中存储对应的表文件中一个数据行Dept:JVM内存:三、封装SQL语句1、在数据库中建表1)对表内容的设计2)命名为 “ 管理员信息表 ”,表中内容如下表所示:2、实体类的封装public class Manager{ private Integer ManagerNo; private String ManagerName; private String managerPw; //带参构造 public Manager(Integer mangerNo, String managerName, String managerPw) { this.managerNo = mangerNo; this.managerName = managerName; this.managerPw = managerPw; } //无参构造 public Manager() {} //setter and getter方法 public Integer getMangerNo() { return managerNo; } public void setMangerNo(Integer mangerNo) { this.managerNo = mangerNo; } public String getManagerName() { return managerName; } public void setManagerName(String managerName) { this.managerName = managerName; } public String getManagerPw() { return managerPw;} public void setManagerPw(String managerPw) { this.managerPw = managerPw; }}3、DAO的封装以下代码都是写在一个程序中,这里为了方便阅读理解分别都一个一个拆开来写。1)添加数据行public class ManagerDao { JDBCUtil util = new JDBCUtil(); public int add(String managerNo,String managerName,String managerPw){ String sql = "insert into 管理员信息表(管理员编号,管理员姓名,管理员密码) values(?,?,?)"; int result = 0; try{ PreparedStatrment ps = util.creatStatement(); ps.setInt(1,Integer.valueOf(managerNo)); ps.setString(2,managerName); ps.setString(3,managerPw); result = ps.executeUpdate(); } catch (SQLException e){ e.printStackTrace(); } finally { util.close(); } return result;}2)删除数据行public class ManagerDao { JDBCUtil util = new JDBCUtil(); public int delete(String managerNo){ String sql = "delete from 管理员信息表 where 管理员编号 = ?"; int result = 0; try{ PreparedStatement ps = util.creatStatement();ps.setInt(1,Integer.valueOf(managerNo)); result = ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { util.close; } return result; }}3)更新数据行public class ManagerDao { JDBCUtil util = new JDBCUtil(); public int update(String managerNo,String managerName,String managerPw){ String sql = "update 管理员信息表 set 管理员姓名=?,管理员密码=? where 管理员编号=?"; int result = 0; try{ PreparedStatement ps = util.creatStatement(); ps.setString(1,managerName); ps.setString(2,managerPw); ps.setInt(3,Integer.valueOf(mangagerNo)); result = ps.executeUpdate(); }atch (SQLException e) { e.printStackTrace(); } finally { util.close(); } return result; }}4)查询数据行public class ManagerDao { JDBCUtil util = new JDBCUtil(); public List findAll(){ String sql = "select * from 管理员信息表"; ResultSet rs = null; //创建List集合 List list = new ArrayList(); try{ PrepatedStatement ps = util.creatStatement(); rs = ps.executeQuery(); while(rs.next()){ int managerNo = rs.getInt("管理员编号"); String managerName = rs.getString("管理员姓名"); String managerPw = rs.getString("管理员密码"); //创建manager实体类对象,并把以上参数传入到实体类中 Manager manager = new Manager(managerNo,managerName,managerPw); //每获得一行数据,就把这一行内容放进list集合 list.add(manager); } } catch (SQLException e) { e.printStackTrace(); } finally { util.close(rs); } //list放入的是表中所有数据,因此返回list集合 return list; }}4、测试1)查询语句2)添加语句3)更新语句4)删除语句5)附带模块创建目录关于软件测试还有其他疑问,或是想要免费领取测试学习资料、工具、面试宝典、面试技巧等资料,都可私信留言。关注软件测试郑老师,你将学到更多专业技术、软件测试干货和更多职场技能。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/41697.html

kuaisubeian