文章目录
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 {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public 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,sql,public,man From: https://blog.csdn.net/NiNg_1_234/article/details/143418040