Spring也是支持JDBC操作,封装了它的模板类 JdbcTemplate,对原生JDBC操作进行了简化
使用它需要导入 spring-jdbc的jar以及spring-tx的jar包
我们导入以下jar包 以及数据库的驱动包
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL4UjM2ETNwIjM5IzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
C3P0连接池
在项目下新建db.properties配置文件,用来配置数据库连接信息以及连接池配置
driverClass=com.mysql.jdbc.Driver
user=root
password=root
jdbcUrl=jdbc:mysql://localhost:3306/test
maxPoolSize=6
initialPoolSize=6
deptDao类
public class DeptDao {
//注入 JdbcTemplate类
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<Dept> getALL(){
String sql = "select * from dept" ;
return this.jdbcTemplate.query(sql,new MyRowMapper());
}
public List<Map<String,Object>> getALLs(){
String sql = "select * from dept" ;
return this.jdbcTemplate.queryForList(sql);
}
public int update(int deptno){
String sql = "delete from dept where deptno = ?";
return this.jdbcTemplate.update(sql,deptno);
}
}
自定义转换类
public class MyRowMapper implements RowMapper<Dept> {
@Override
public Dept mapRow(ResultSet resultSet, int i) throws SQLException {
Dept dept = new Dept();
dept.setDeptNo( resultSet.getInt(1));
dept.setDname( resultSet.getString(2));
dept.setLoc( resultSet.getString(3));
return dept;
}
}
spring配置文件
<?xml version='1.0' encoding='UTF-8' ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 读取 src下 db.properties-->
<context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
<!-- 配置连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!--通过 ${key} 取 properties中的信息-->
<property name="driverClass" value="${driverClass}"></property>
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
<property name="maxPoolSize" value="${maxPoolSize}"></property>
<property name="initialPoolSize" value="${initialPoolSize}"></property>
</bean>
<!-- 配置模板类 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 引入配置的连接池 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- dao类 配置-->
<bean id="deptDao" class="com.xt.d_jdbc.DeptDao">
<!-- 引入 jdbc模板类-->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
</beans>