JdbcTemplate概述
JdbcTemplate是Spring提供的一个操作数据库的技术,是对Jdbc的封装。
Spring对数据库的操作使用JdbcTemplate来封装JDBC,结合Spring的注入特性可以很方便的实现对数据库的访问操作。
Spring提供的JdbcTempate能直接数据对象映射成实体类,不再需要获取ResultSet去获取值/赋值等操作,提高开发效率
搭建配置环境
①导入jar包 :IOC容器需要的jar包、MySQL驱动、C3P0jar包、JdbcTemplate需要的jar包 ②在IOC容器中配置数据源 ③在IOC容器中配置JdbcTemplate对象的bean,并将数据源对象装配到JdbcTemplate对象中
<bean
id=
"jdbcTemplate" class=
"org.springframework.jdbc.core.JdbcTemplate">
<
property name=
"dataSource" ref=
"comboPooledDataSource"></
property>
</bean>
使用JdbcTemplate
【1】当需要操作数据库增删改时
JdbcTemplate template=ioc.getBean(JdbcTemplate.class);
template.update(sql, args);
【2】操作数据库查询
①返回值为对象
RowMapper<Employee> rowMapper = new BeanPropertyRowMapper<Employee>(Employee.class);
Employee employee = template.queryForObject(sql, rowMapper, args);
②返回值为集合
List<Employee> list = template.query(sql, rowMapper, args);
③操作数据库查询时,返回值为数据类型时
Double maxSalary = template.queryForObject(sql, Double.class);
【3】使用带有具名参数的SQL语句插入,并以Map形式传入参数值
具名参数:以前是?作为占位符,现在使用名字
①如果要使用具名参数的sql语句就必须在spring配置文件中配置 NamedParameterJdbcTemplat这个模板类
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="jdbcTemplate"></constructor-arg>
</bean>
②map键值对的键值要与具名参数保持一致
【4】以SqlParameterSource形式传入实体对象形式的参数值
SqlParameterSource source = new BeanPropertySqlParameterSource(employee);