发表于: 2017-12-16 22:55:08

1 658


今天完成的事情:

主要学习jdbctemplate 和jdbc的区别,学习jdbc template中增删改查的操作

明天计划的事情:

院庆啦,当然是开开心心玩玩,休息休息调整状态,迎接下周的学习啦,这几天进度感人。

遇到的问题:

non-static method cannot be referenced。不能引用非静态方法

这个定义感觉自己还是很懵逼,总是出些莫名其妙的问题,还有待学习。           

收获:

使用jdbc,必须创建大量的代码(创建连接,关闭连接,处理异常)中的所有DAO数据库的操作方法 - 插入,更新和删除。它的效率并不是很高,容易出错和乏味。

try { conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, customer.getCustId()); ps.setString(2, customer.getName()); ps.setInt(3, customer.getAge()); ps.executeUpdate(); ps.close(); } catch (SQLException e) { throw new RuntimeException(e); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) {} } }

jdbc template则是通过以下三种方式来得到对象:

第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化。也就是它是从外部“注入” DataSource 到DAO 中,然后 自己实例化JdbcTemplate,然后将DataSource 设置到JdbcTemplate 对象中。 
第二种方式: 在 Spring 的 IoC 容器中配置一个 JdbcTemplate 的 bean,将 DataSource 注入进来,然后再把JdbcTemplate 注入到自定义DAO 中。 
第三种方式: Spring 提供了 org.springframework.jdbc.core.support.JdbcDaoSupport 类 , 这 个 类 中 定 义 了 JdbcTemplate 属性,也定义了DataSource 属性,当设置DataSource 属性的时候,会创建jdbcTemplate 的实例,所以我们自己编写的DAO 只需要继承JdbcDaoSupport 类, 然后注入DataSource 即可。提倡采用第三种方法

方式一:

public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  

          this.jdbcTemplate = jdbcTemplate;  

}

方式二:

public void setDataSource(DataSource dataSource) {    

          this.jdbcTemplate = new JdbcTemplate(dataSource);  

}  

方式三:

@Override  

public void save(User user) {  

          String sql = null;  

          this.getJdbcTemplate().update(sql);  

}  



返回列表 返回列表
评论

    分享到