使用Spring-jdbcTemplate准备
- 引入jar包(Spring基础jar包、aop、jdbc、tx、MySql驱动)
- 配置dataSource源
<!--引入本地数据库配置-->
<context:property-placeholder location="classpath:jdbc.properties" />
<!--配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///selection_course?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
- 配置JdbcTemplate
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
JdbcTemplate基本使用
- execute方法
- update与batchUpdate方法
- query与queryXXX方法
- call方法
execute对数据库DDR操作
update操作单个增删改
//API int update(String sql,Object[] args) int update(String sql,Objcet... args)
batchUpdate批量增删改
//API int[] batchUpdate(String[] sql) int[] batchUpdate(String sql,List<Object[]>)
单个简单查询
T queryForObject(String sql,Class<T> type) T queryForObject(String sql,Object[] args,Class<T> type) T queryForObject(String sql,Class<T> type,Object... arg)
获取多个
//API List<T> queryForList(String sql,Class<T> type) List<T> queryForList(String sql,Object[] args,Class<T> type) List<T> queryForList(String sql,Class<T> type,Object... arg)
查询复杂对象(封装为Map)
获取单个
Map queryForMap(String sql)
Map queryForMap(String sql,Objcet[] args)
Map queryForMap(String sql,Object... arg)
获取多个
List<Map<String,Object>> queryForList(String sql) List<Map<String,Object>> queryForList(String sql,Obgject[] args) List<Map<String,Object>> queryForList(String sql,Obgject... arg)
查询复杂对象(封装为实体对象)
Spring jdbcTemplate是通过实现org.springframework.jdbc.core.RowMapper
这个接口来完成对entity对象映射
获取一个
T queryForObject(String sql,RowMapper<T> mapper) T queryForObject(String sql,object[] args,RowMapper<T> mapper) T queryForObject(String sql,RowMapper<T> mapper,Object... arg)
获取多个
List<T> query(String sql,RowMapper<T> mapper) List<T> query(String sql,Object[] args,RowMapper<T> mapper) List<T> query(String sql,RowMapper<T> mapper,Object... arg)
实例
public String getInsCharacter(String productId, String companyId, String abicfundId, String inscharacterId) { try { Object[] params = new Object[] { productId, companyId, abicfundId, inscharacterId}; String stinscharactername = getJdbcTemplate().queryForObject(SQL_SELECT_INSCHARACTER, params, String.class); if(!StringUtil.isEmpty(stinscharactername)){ return stinscharactername; } } catch (DataAccessException e) { return "保証利率(%)"; } return "保証利率(%)"; }