小碼農的程式碼(一)----------SpringJDBC的使用
阿新 • • 發佈:2019-02-10
SpringJDBC的使用目前來看非常簡單,主要就是三個步驟。
一、maven載入所需要的jar包;
一、Spring配置檔案進行資料來源與jdbctemple的配置;
二、直接在資料訪問層使用。
以下是spring配置檔案的內容:
倫理片http://www.dotdy.com/
這裡的注意點在於spring的資料來源配置,不直接使用DriverManagerDataSource的原因是由於其沒有實現連線池的機制,因此使用C3P0,這時需要載入c3p0的支援JAR包;另外在資料訪問層進行資料操作時如下:
-
public class BaseDaoImpl implements
- @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));
- }
- }
另外也可以繼承JdbcDaoSupport類,來使用jdbcTemplate, Java程式碼
- public class BaseDaoImpl2 extends JdbcDaoSupport implements BaseDao{
- public void addBySql(String sql,final Object[] params) {
- this.getJdbcTemplate().update(sql);
- }
- }
這兩個類進一步論證一個介面可以有多個實現類,誰例項化則呼叫哪個實現類中的方法。
具體的程式碼例子與測試檔案可以下載附件參考,歡迎大家斧正。
另外對於jdbcTemplate的事務控制就是使用Spring對於事務的控制,具體內容會在後續文章中補充說明。