您的位置:首页 > 编程语言 > Java开发

小码农的代码(一)----------SpringJDBC的使用

2015-12-22 01:00 423 查看



今年年初遇到一个对接ERP与WMS的项目,只做后端数据同步,不进行页面展示,简而言之就是我们接收ERP http请求传送过来的数据然后转存到自己的数据库并将数据同步到WMS系统的数据库中,(ps:我也比较奇怪为什么不直接用http请求进行对接,而来中间再转存一次)。由于项目较小又不需要前端展示就直接只用SpringJDBC进行数据库操作,项目涉及的内容包括http请求接口的开发、多数据库操作,本文先拉出来整理下SpringJDBC的直接使用。

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代码


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对于事务的控制,具体内容会在后续文章中补充说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: