小码农的代码(一)----------SpringJDBC的使用
2015-12-22 01:00
423 查看
SpringJDBC的使用目前来看非常简单,主要就是三个步骤。
一、maven加载所需要的jar包;
一、Spring配置文件进行数据源与jdbctemple的配置;
二、直接在数据访问层使用。
以下是spring配置文件的内容:
伦理片 http://www.dotdy.com/
这里的注意点在于spring的数据源配置,不直接使用DriverManagerDataSource的原因是由于其没有实现连接池的机制,因此使用C3P0,这时需要加载c3p0的支持JAR包; 另外在数据访问层进行数据操作时如下:
public class BaseDaoImpl implements BaseDao{
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* sql = "insert into user (name,age) values(?,?)"
* */
public void addBySql(String sql,final Object[] params) {
//--------------methods01------------------------------------//
jdbcTemplate.execute(sql);
//-----------------or methods02------------------------------//
//just like updateBySql
}
/**
* sql = “update table_name set name=?,age=?”
* */
public void updateBySql(String sql,final Object[] params) {
//--------------methods01------------------------------------//
jdbcTemplate.update(sql,
new PreparedStatementSetter() {
public void setValues(PreparedStatement ps)
throws SQLException {
ps.setInt(1, Integer.parseInt(params[0].toString()));
}
});
//-----------------or methods02------------------------------//
//jdbcTemplate.update(sql, params);
}
/**
* sql = "delete user where id =? and name = ?;"
* */
public void deleteBySql(String sql,final Object[] params) {
//----------just like update---------------//
jdbcTemplate.update(sql, params);
}
/**
* RowMapper接口封装返回集合,可自定义
* */
public List<UserEntity> getQueryBySql(String sql) {
return (List<UserEntity>) jdbcTemplate.query(sql,
new BeanPropertyRowMapper<UserEntity>(UserEntity.class));
}
}
因为Spring配置文件中已经配置,可以直接依赖注入jdbcTemplate;
另外也可以继承JdbcDaoSupport类,来使用jdbcTemplate,
Java代码
![](http://675990021.iteye.com/images/icon_star.png)
public class BaseDaoImpl2 extends JdbcDaoSupport implements BaseDao{
public void addBySql(String sql,final Object[] params) {
this.getJdbcTemplate().update(sql);
}
}
影音先锋电影 http://www.iskdy.com/。
这两个类进一步论证一个接口可以有多个实现类,谁实例化则调用哪个实现类中的方法。
具体的代码例子与测试文件可以下载附件参考,欢迎大家斧正。
另外对于jdbcTemplate的事务控制就是使用Spring对于事务的控制,具体内容会在后续文章中补充说明。
相关文章推荐
- Eclipse中离线安装ADT插件
- java中volatile关键字的含义--volatile并不能做到线程安全
- java源代码和字节码操作
- java中ClassLoader
- Java学习----一个对象怎么调用另一个对象呢?
- spring的@Transactional到底是怎么工作的
- SpringMVC源码阅读(二)
- java基础知识:运算符与、按位与操作讲解
- java递归实例(二)---递归读取并修改Tree结构
- Java 正则 包含匹配 和 全匹配
- SpringMvc整合DWR
- 【Java基础】线程同步教程
- 【Java基础】定时器Timer
- myeclipse修改java文件后,部署不生成class文件 解决办法
- Java 算法-异或校验和
- Java问题系列:内存回收
- Java拾遗
- 递归(网上搜的一些笔试题)
- 笔记《Java并发编程实战》[1]
- 了解Javac编译器