Spring JDBC数据库操作类
1.JdbcTemplate
在Spring中,JdbcTemplate是最常被使用的类,它为用户程序提供了许多便利的数据库操作方法,比如查询、更新等。JdbcTemplate是core包的核心类,它替我们完成了资源的创建及释放工作,从而简化了对JDBC的使用。
1)执行SQL语句
一旦获得一个DataSource和一个JdbcTemplate,我们就可以使用JdbcTemplate提供的丰富功能实现我们的操作。下面创建一张表:
public void execute(){
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
jdbc.execute("create table username(id integer,username varchar(20),password varchar(20),email varchar(50))");
}
2)执行单表查询
比如返回一个汇总(count)结果或者从返回行结果中取得指定列的值,我们使用queryForInt()、queryForLong()或者queryForObject()方法。queryForObject方法用来将返回的JDBC类型对象转换成指定的Java对象,如下例:
public int getCount(){
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
return count=jdbc.queryForInt("select count(*)from user");
}
public String getUsername(){
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
return name=(String) jdbc.queryForObject("select name from username",String.class);
}
3)执行条件查询
在调用queryForObject()进行查询时,需要先使用回调方法创建一个RowMapper类型变量,在执行查询时输入该回调变量,并输入查询的参数数组,如下所示:
public User findUser(long id){
String sql="select id,username,password,email from user where id=?";
RowMapper mapper = new RowMapper(){
public Object mapRow(ResultSet rs,int rowNum)throws SQLException{
User user = new User();
user.setId(is.getLong("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
return user;
}
};
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
return (User)jdbc.queryForObject(sql,mapper,new Object[]{Long.vlaueof(id)});
}
&nbs