用JDBC封装CRUD操作(个人总结)

来源:互联网 发布:mac怎么修改hosts文件 编辑:程序博客网 时间:2024/06/16 05:02

先定义好实体类,我简化了属性:

 

 

然后定义接口:

 

 

 

初学JDBC时,都没个dao自己获得数据库连接,自己执行SQL语句,自己关闭资源,这样有两个缺陷。

第一SQL异常无法处理,第二大量的代码是重复的。

第一个问题我们可以定义一个DaoException继承RuntimeException,这样上层就不用捕获SQL异常了。即使换成文件存储数据,也不用更改Service层的代码,真正做到了各层之间的解耦。

第二个问题可以使用Template模式解决。

 

定义DaoException的代码:

 

 

定义与数据库打交道的接口:

 

 

 

 

MySQL实现:

 

 

 

定义JdbcTemplate类:

 

 

定义SuperDao所有dao的父类:

 

 

定义代表对象和记录的映射的接口RowMapper:

 

 

 

 

最后实现UserDao:

 

 

最后上个整体架构的类图: