Spring框架 -- 5 Spring的JdbcTemplate操作

    技术2025-12-24  17

    Spring的JdbcTemplate操作

    JDBC相关的jar包JDBCTemplate的使用Spring结合连接池(C3p0)和jdbcTemplate使用

    jdbcTemplate是Spring提供的操作数据库的操作,是基于JDBC实现的。

    JDBC相关的jar包

    <!--Spring的JDBC模板操作--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.31</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.0.6.RELEASE</version> </dependency> </dependencies>

    JDBCTemplate的使用

    /** * JDBC模板使用的介绍 */ public class JDBCTemplate { public static void main(String[] args) { //创建对象,设置数据源 DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybatis"); dataSource.setUser("root"); dataSource.setPassword("123456"); //创建jdbcTemplate对象,设置数据源 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //调用jdbcTemplate提供的方法 //更新操作 // String updateSql = "update user set sex = ? where id = ?"; // jdbcTemplate.update(updateSql,new Object[]{1,1}); //删除操作 String deleteSql = "delete from user where id = ?"; jdbcTemplate.update(deleteSql,new Object[]{25}); //jdbcTemplate对数据的变更操作(update、insert、delete)都可以通过update方法进行处理 //查询单个对象 queryForObject String selectSql1 = "select * from user where id = ?"; // public <T> T queryForObject(String sql, @Nullable Object[] args, RowMapper<T> rowMapper) throws DataAccessException { User2 user2 = jdbcTemplate.queryForObject(selectSql1, new Object[]{1}, new UserMapper()); // System.out.println(user2); //查询多个对象 query String selectSql2 = "select * from user where sex = ?"; List<User2> list = jdbcTemplate.query(selectSql2, new Object[]{1}, new UserMapper()); System.out.println(list); } }

    Spring结合连接池(C3p0)和jdbcTemplate使用

    场景:操作mybatis库中的user表 通过ID查询用户信息

    dao层接口

    public class UserDao { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public User2 getUserById(Long id){ //查询SQL String sql = "select * from user where id = ?"; User2 user2 = jdbcTemplate.queryForObject(sql,new Object[]{id},new UserMapper()); //使用jdbcTemplate模板获取数据库数据 return user2; } }

    XML配置文件

    <?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:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!--配置数据源--> <bean id="dataSource" class="com.mchange.v2.c3p0.DriverManagerDataSource"> <!--配置连接数据库的核心配置4个参数--> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="user" value="root"/> <property name="password" value="123456"/> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mybatis"/> </bean> <!--配置jdbc模板--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!--配置数据源--> <property name="dataSource" ref="dataSource"/> </bean> <!--配置UserDao--> <bean id="userDao" class="com.tulun.dao.UserDao"> <!--注入JDBC模板--> <property name="jdbcTemplate" ref="jdbcTemplate"/> </bean> </beans>
    Processed: 0.018, SQL: 9