首页 > 其他分享 >Spring JdbcTemplate详解

Spring JdbcTemplate详解

时间:2024-11-01 21:21:16浏览次数:3  
标签:Spring 查询 详解 JdbcTemplate sql public man

文章目录

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,sql,public,man
From: https://blog.csdn.net/NiNg_1_234/article/details/143418040

相关文章

  • 当下最好的Java做人工智能应用的开源框架-Spring AI alibaba介绍-含免费的菜鸟入门教
    在过去,Java缺乏一个统一且高效的AI应用框架,这导致开发者在使用不同AI提供商(如OpenAI、Azure或阿里云)时需要频繁地调整代码和接口适配。现在有了Spring团队推出的springAI,他能够很好的解决上面的问题,本文会先介绍一下springai这个应用框架的核心能力和功能。 然后再用s......
  • JWT在SpringBoot项目中的使用方法与优劣性
    JWT介绍JWT(JSONWebToken)是一种用于在网络应用环境中安全地传递信息的开放标准(RFC7519)。它是一种基于JSON的令牌格式,广泛用于身份验证和信息交换。JWT的结构JWT通常由三部分组成:头部(Header)、有效载荷(Payload)和签名(Signature)。这三部分通过.字符连接在一起,形成一......
  • Spring Boot 集成阿里云直播点播
    在当今数字化时代,视频直播和点播服务已经成为许多应用的核心功能。阿里云提供了强大的直播和点播服务,能够满足各种规模的应用需求。而SpringBoot作为一种流行的Java开发框架,能够快速构建高效的应用程序。本文将详细介绍如何在SpringBoot项目中集成阿里云直播点播服务,包......
  • SpringBoot【实用篇】- 配置高级
    文章目录目标:1.@ConfigurationProperties2.宽松绑定/松散绑定3.常用计量单位绑定4.数据校验目标:@ConfigurationProperties宽松绑定/松散绑定常用计量单位绑定数据校验1.@ConfigurationProperties@ConfigurationProperties在学习yml的时候我们了解到它是可以给......
  • SpringBoot【实用篇】- 热部署
    文章目录目标:1.手动启动热部署2.自动启动热部署4.禁用热部署目标:手动启动热部署自动启动热部署热部署范围配置关闭热部署1.手动启动热部署当我们没有热部署的时候,我们必须在代码修改完后再重启程序,程序才会同步你修改的信息。如果我们想快速查看,那就需要用到......
  • grafana图表功能-06-监控指标详解
    一. prometheus的4种监控指标Counters计数器Gauges仪表/测量Histograms直方图Summaries汇总二,指标详解2.1 Counters计数器,以cpu的监控指标 node_cpu_seconds_total为例,这个指标就是计数器类型的,node_cpu_seconds_total这个指标就是某一核cpu某一个......
  • 基于springboot高校社团管理系统设计与实现
    前言系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对高校社团的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的思想,在高校社团管理系统实现了学生、......
  • 基于springboot古风生活体验交流网站的设计与实现l
    前言二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设计并实现了一个基于springboot古风生活体验......
  • 基于java+SpringBoot+Vue的“衣依”服装销售平台设计与实现
    项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot+mybatis+Maven+mysql5.7或8.0等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个......
  • 基于java+SpringBoot+Vue的IT技术交流和分享平台设计与实现
    项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot+mybatis+Maven+mysql5.7或8.0等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个......