JdbcTemplate(1)

一直以来,特别喜欢使用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的操作像流水线操作了,从这个角度着手。顺便去了解下模板模式。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181023A0SMGA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券