【1】 JDBCTemplate,相信大多数人在没有接触Spring的时候就已经用到了,我们先来回顾下我们之前用到的JdbcTemplate。
1.我们之前用的是阿里的Druid连接池,需要先创建连接池的工具类,JDBCUtils,具体写法如下
1)首先我们用class.getClassLoader().getResourceAsStream获取properties文件中的内容。然后装入Properties集合中。
2)然后由DruidDataSourceFactory创建数据源。
public class JDBCUtils {
// 1. 声明静态数据源对象
private static DataSource ds;
// 2. 创建连接池对象
static {
// 加载配置文件中的数据
InputStream is =JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
Properties pp = new Properties();
try {
pp.load(is);
// 创建连接池,使用配置文件中的参数
ds = DruidDataSourceFactory.createDataSource(pp);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
// 3. 定义公有的得到数据源的方法
public static DataSource getDataSource() {
return ds;
}
// 4. 定义得到连接对象的方法
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
2.创建好JDBCUtils工具类后,我们就可以用这行代码来创建Template对象
JdbcTemplate template=new JdbcTemplate(JdbcUtils.getDataSource)
【2】我们来看一下Spring中的JDBCTemplate
这是JDBCTemplate,最基本的用法。使用的是DriverManagerDateSource获取数据源
public class jdbcTemplateDemo1 {
public static void main(String[] args) {
// 准备数据源,Spring的内置数据源
DriverManagerDataSource manager=new DriverManagerDataSource();
manager.setDriverClassName("com.mysql.jdbc.Driver");
manager.setUrl("jdbc:mysql://localhost:3306/eesy_spring");
manager.setUsername("root");
manager.setPassword("root");
// 创建jdbctemplate对象
JdbcTemplate template=new JdbcTemplate();
template.setDataSource(manager);
// 执行操作
template.execute("insert INTO account (name,money) values ('huang',14) ");
剩下的部分和Driud的Template完全一样。
【3】Spring中使用Template的特点
1)不需要写JDBCUtils工具类,直接在bean.xml中配置
我们会发现,这里的class中填写的,正是基础用法的所用到的类。
2)并且Spring中自带一个JdbcSupport类,我们在持久层的时候可以直接继承JdbcSupport
这样做的好处就是我们可以消除JdbcTemplate template=new JdbcTemplate(dataSource)
可以看到这里用的是getJdbcTemplate(),因为JDBCSupport中有这个方法
我们看一下JDBCSupport中是否有这个方法
【4】
方法:
query:查询语句,返回list集合
queryForObject:查询语句,返回单个对象
update:更新,增加语句
delete:删除语句



