spring jdbctemplate使用
介绍
Spring JDBCTemplate对jdbc进行了简单的封装,提供了一个JDBCTemplate对象简化JDBC的开发
使用
1、导入jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
2、创建JdbcTemplate对象
org.springframework.jdbc.core.JdbcTemplate类有三个构造方法
public JdbcTemplate() {
}
public JdbcTemplate(DataSource dataSource) {
setDataSource(dataSource);
afterPropertiesSet();
}
public JdbcTemplate(DataSource dataSource, boolean lazyInit) {
setDataSource(dataSource);
setLazyInit(lazyInit);
afterPropertiesSet();
}
- 一般直接使用第二个构造方法
- 如果使用默认构造方法,可以调用setDataSource传入DataSource对象赋值
JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
3、关于ds
(1)spring内置数据源
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClass}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!--加载属性文件-->
<context:property-placeholder location="classpath:properties/jdbc.properties"/>
(2)第三方数据库连接池
<context:property-placeholder location="classpath:props/db.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
</bean>
db.properties
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysite?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
jdbc.username=root
jdbc.password=3145tj
4、API
<!--增删改-->
int update(String sql)
int update(String sql,Object... args)
int update(String sql,Object[] args)
<!--query-->
public <T> List<T> query(String sql, RowMapper<T> rowMapper)
queryForMap
queryForList
queryForObject