一直以来,特别喜欢使用Spring框架,对Spring的JdbcTemplate也情有独钟。从今天开始的专题将简述如何模拟完成Spring相关方法的编写。
前面JDBC的学习,已经完成数据库的基本操作,但是重复代码过多,因此有必要对其进行封装重构。
queryForObject(String sql,Object[] parameters)返回唯一结果方法
queryForList(String sql,Object[] parameters)返回多行记录
update(String sql,Object[] parameters)更新操作
在封装代码之前,首先看看以前的代码怎么写?
案例:实现用户登录验证?
那么需要编写的代码如下所示
public User validateUser(String username,String psw) {
//获取数据库连接,已封装
PreparedStatement psmt = null;
ResultSet rs = null;
User user = null;
String sql = "select * from login where name = ? and psw = ?";
//需要执行的SQL语句
try {
psmt = connection.prepareStatement(sql);
//预编译SQL语句
psmt.setString(1, username);//对疑问号进行赋值操作
psmt.setString(2, psw);
rs = psmt.executeQuery();//执行SQL语句,获取结果
if(rs.next()){//判断是否结果集中有数据
user = new User();
user.setName(rs.getString("name"));
//结果集中有数据,获取对应的内容
user.setPsw(rs.getString("psw"));
user.setAge(rs.getInt("age"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBC.free(connection, psmt);//最后一定要记住进行释放
}
return user;
//返回结果,若数据库中无记录返回null,有记录返回存有数据的user对象
}
看到没有,写一个数据库的基本操作,就必须写这么一大堆代码。如果对于刚学习JAVA或者JDBC的同学们来说,多敲敲这代码有用。但是如果对于已经有一定的JDBC数据库操作经验,则显的很low。因此对于JDBC的封装重构势在必行。
那么从哪里下手了,本章只抛砖
,下章将讲述如何实现。
抛完砖引下玉
试问,有没有觉得JDBC的操作像流水线操作了,从这个角度着手。顺便去了解下模板模式。
领取专属 10元无门槛券
私享最新 技术干货