0
点赞
收藏
分享

微信扫一扫

Spring JdbcTemplate详解

花海书香 2024-11-06 阅读 13

文章目录

Spring JdbcTemplate详解

一、引言

在Java开发中,数据库操作是常见的需求。JDBC作为Java连接数据库的标准接口,虽然功能强大,但代码繁琐且容易出错。Spring框架通过JdbcTemplateJDBC进行了封装,简化了数据库操作,提高了开发效率。本文将详细介绍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详解
  • Spring学习之JdbcTemplate
举报

相关推荐

0 条评论