Spring JdbcTemplate详解
文章目录
- Spring JdbcTemplate详解
- 一、引言
- 二、配置JdbcTemplate
- 1、引入依赖
- 2、配置数据库连接池
- 3、配置JdbcTemplate
- 三、使用JdbcTemplate操作数据库
- 1、添加数据
- 2、查询数据
- 查询某个值
- 根据条件查询返回某个对象
- 查询对象集合
- 四、总结
Spring JdbcTemplate详解
一、引言
在Java开发中,数据库操作是常见的需求。JDBC
作为Java连接数据库的标准接口,虽然功能强大,但代码繁琐且容易出错。Spring
框架通过JdbcTemplate
对JDBC
进行了封装,简化了数据库操作,提高了开发效率。本文将详细介绍Spring JdbcTemplate
的使用,包括配置、基本操作和示例代码。
二、配置JdbcTemplate
1、引入依赖
在Spring
项目中使用JdbcTemplate
,首先需要引入相关依赖。以下是Maven
依赖配置:
<dependencies><!-- Spring Context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.16</version></dependency><!-- MySQL Connector --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><!-- Spring JDBC --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.16</version></dependency><!-- Druid Connection Pool --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.9</version></dependency>
</dependencies>
2、配置数据库连接池
使用Druid
作为数据库连接池,配置jdbc.properties
文件:
url=jdbc:mysql://localhost:3306/your_database?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
username=root
password=your_password
driver-class-name=com.mysql.cj.jdbc.Driver
在Spring
配置文件中引入jdbc.properties
并配置Druid
数据源:
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/><property name="driverClassName" value="${driver-class-name}"/>
</bean>
3、配置JdbcTemplate
在Spring
配置文件中配置JdbcTemplate
对象,并注入DataSource
:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/>
</bean>
三、使用JdbcTemplate操作数据库
1、添加数据
创建Man
实体类,并在Dao
接口中定义添加方法:
public interface ManDao {int addEntity(Man man);
}
实现Dao
接口,并使用JdbcTemplate
添加数据:
@Repository
public class ManDaoImpl implements ManDao {@Autowiredprivate JdbcTemplate jdbcTemplate;@Overridepublic int addEntity(Man man) {String sql = "insert into t_man(user_name, sex) values(?,?)";return jdbcTemplate.update(sql, man.getUserName(), man.getSex());}
}
2、查询数据
查询某个值
在Dao
接口中定义查询方法,并在实现类中使用JdbcTemplate
查询:
public interface ManDao {String getNameByUserId(int id);
}@Override
public String getNameByUserId(int id) {String sql = "select user_name from t_man where uid = ?";return jdbcTemplate.queryForObject(sql, String.class, id);
}
根据条件查询返回某个对象
在Dao
接口中定义查询方法,并使用BeanPropertyRowMapper
返回对象:
public interface ManDao {Man getEntityById(int id);
}@Override
public Man getEntityById(int id) {String sql = "select uid, user_name userName, sex from t_man where uid = ?";return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Man>(Man.class), id);
}
查询对象集合
定义查询所有数据的方法:
public interface ManDao {List<Man> findAll();
}@Override
public List<Man> findAll() {String sql = "select uid, user_name userName, sex from t_man";return jdbcTemplate.query(sql, new BeanPropertyRowMapper<Man>(Man.class));
}
四、总结
Spring JdbcTemplate
提供了一个简便的方法来执行数据库操作,通过封装JDBC
,减少了模板化的代码,提高了开发效率。本文介绍了JdbcTemplate
的基本配置和使用方法,包括添加、查询等基本操作。通过实际代码示例,可以帮助开发者快速上手JdbcTemplate
。
版权声明:本博客内容为原创,转载请保留原文链接及作者信息。
参考文章:
- Spring JdbcTemplate详解
- Spring学习之JdbcTemplate