进阶必备!SQL语句的封装操作大全,千万要收藏好

在封装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表操作细节:DeptDao

3) DAO类所在包命名规则:公司网站域名.dao , 比如 com.bjpowernode.dao

进阶必备!SQL语句的封装操作大全,千万要收藏好

二、实体类

1、一个实体类用于描述一张表结构

2、实体类的类名应该与关联的表名保持一致,但是可以忽略大小写

DEPT ———–> public class Dept{ }

3、实体类的属性应该与关联的表文件字段保持一致

进阶必备!SQL语句的封装操作大全,千万要收藏好

进阶必备!SQL语句的封装操作大全,千万要收藏好

4、实体类的一个实例对象用于在内存中存储对应的表文件中一个数据行

Dept:

进阶必备!SQL语句的封装操作大全,千万要收藏好

JVM内存:

进阶必备!SQL语句的封装操作大全,千万要收藏好

三、封装SQL语句

1、在数据库中建表

1)对表内容的设计

进阶必备!SQL语句的封装操作大全,千万要收藏好

2)命名为 “ 管理员信息表 ”,表中内容如下表所示:

进阶必备!SQL语句的封装操作大全,千万要收藏好

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)查询语句

进阶必备!SQL语句的封装操作大全,千万要收藏好

进阶必备!SQL语句的封装操作大全,千万要收藏好

2)添加语句

进阶必备!SQL语句的封装操作大全,千万要收藏好

进阶必备!SQL语句的封装操作大全,千万要收藏好

3)更新语句

进阶必备!SQL语句的封装操作大全,千万要收藏好

进阶必备!SQL语句的封装操作大全,千万要收藏好

4)删除语句

进阶必备!SQL语句的封装操作大全,千万要收藏好

进阶必备!SQL语句的封装操作大全,千万要收藏好

5)附带模块创建目录

进阶必备!SQL语句的封装操作大全,千万要收藏好

关于软件测试还有其他疑问,或是想要免费领取测试学习资料、工具、面试宝典、面试技巧等资料,都可私信留言。

关注软件测试郑老师,你将学到更多专业技术、软件测试干货和更多职场技能。

来源:郑说软件测试

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月13日
下一篇 2022年4月13日

相关推荐