使用JdbcTemplate对MySQL数据库进行增删改查(上)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 使用JdbcTemplate对MySQL数据库进行增删改查(上)

0x00 教程内容


Spring配置文件的编写

JDBCTemplate访问接口代码的实现

测试

增删改完整代码

紧接着上一篇教程的基础:Spring之Bean的依赖注入(基于XML),这一篇文章继续来操作对数据库的访问,只不过这次是使用Spring里面的JdbcTemplate,其实也是非常简单的。


0x01 Spring配置文件的编写


1. 引入依赖

如果上一教程已经引入过了,则忽略此步骤:

<!-- Spring JDBC依赖包 -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jdbc</artifactId>
  <version>5.2.4.RELEASE</version>
</dependency>
<!-- Spring context依赖 -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>5.2.4.RELEASE</version>
</dependency>


2. 注入dataSource

注入 dataSourcejdbcTemplate

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql:///sny"/>
    <property name="username" value="root"/>
    <property name="password" value="123456"/>
</bean>


如果不知道需要设置什么property,可以按住 ctrl 然后点击 DriverManagerDataSource进入需要设置什么属性值。


0x02 新建JDBCTemplate访问接口


1. 新建实现类

新建类 StudentDAOJdbcTemplateImpl 实现 StudentDAO 接口,然后加入JDBCTemplate属性,并且生成 get 和 set 方法 (至少需要有 set 方法):


private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
    return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
    this.jdbcTemplate = jdbcTemplate;
}


image.png


2. 注入 jdbcTemplate

写好之后,需要在Spring配置文件里注入进来,以供后面测试时直接从IoC容器中获取:

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"/>
</bean>


注意:这里是用了 ref ,表示设置的属性值来自于上面注入的bean,对应的是id。


3. 编写jdbcTemplate访问代码

编写实现StudentDAO里面的查询接口的代码:

@Override
public List<Student> getStudentList() {
final List<Student> studentList = new ArrayList<>();
    String sql = "select id,name,age from student";
    jdbcTemplate.query(sql, new RowCallbackHandler() {
        @Override
        public void processRow(ResultSet resultSet) throws SQLException {
            Student student = new Student();
            student.setId(resultSet.getInt("id"));
            student.setName(resultSet.getString("name"));
            student.setAge(resultSet.getInt("age"));
            studentList.add(student);
        }
    });
    return studentList;
}


微信图片_20220619184427.png


4. 注入接口实现类

<bean id="studentDAO" class="com.shaonaiyi.dao.StudentDAOJdbcTemplateImpl">

   <property name="jdbcTemplate" ref="jdbcTemplate"/>

</bean>


注意:这里是用了 ref ,对应的是上面配置的 jdbcTemplate。


0x03 测试



1. 新建测试类

image.png


完整代码如下:

package com.shaonaiyi.dao;
import com.shaonaiyi.domain.Student;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;
/**
 * @Auther: shaonaiyi@163.com
 * @Date: 2021/1/16 15:43
 * @Description: JDBCTemplate方式对数据库进行访问
 */
public class StudentDAOJdbcTemplateImplTest {
    private ApplicationContext applicationContext = null;
    private StudentDAO studentDAO = null;
    @Before
    public void before() {
        applicationContext = new ClassPathXmlApplicationContext("spring.xml");
        studentDAO = (StudentDAO) applicationContext.getBean("studentDAO");
    }
    @After
    public void after() {
        applicationContext = null;
    }
    @Test
    public void testGetStudentList() {
        List<Student> studentList = studentDAO.getStudentList();
        for (Student student : studentList) {
            System.out.println("---------------------");
            System.out.println("学生id:" + student.getId());
            System.out.println("学生名称:" + student.getName());
            System.out.println("学生年龄:" + student.getAge());
        }
    }
}


代码解读:从IoC容器中获取 studentDAO对象,然后调用查询接口,将结果查询出来。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
21天前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
8天前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
2月前
|
SQL 数据库
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
这篇文章是Spring5框架的实战教程,深入讲解了如何使用JdbcTemplate进行数据库的批量操作,包括批量添加、批量修改和批量删除的具体代码实现和测试过程,并通过完整的项目案例展示了如何在实际开发中应用这些技术。
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
|
2月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
44 3
|
2月前
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
2月前
|
SQL XML Java
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
这篇文章是Spring5框架的实战教程,详细讲解了如何使用JdbcTemplate进行数据库的增删改查操作,包括在项目中引入依赖、配置数据库连接池、创建实体类、定义DAO接口及其实现,并提供了具体的代码示例和测试结果,最后还提供了完整的XML配置文件和测试代码。
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
|
2月前
|
开发工具 数据安全/隐私保护 索引
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
|
2月前
|
关系型数据库 MySQL 数据库
MySQL数据库的增删改查
MySQL数据库的增删改查
14 0
|
2月前
|
SQL 关系型数据库 MySQL
"Python与MySQL的浪漫邂逅:一键掌握增删改查,开启你的数据库编程之旅!"
【8月更文挑战第21天】Python因其简洁的语法和强大的库支持,成为连接数据库的首选工具。本文介绍如何使用Python连接MySQL数据库并执行基本操作。首先需安装`mysql-connector-python`库。通过配置连接信息建立数据库连接后,可利用`cursor.execute()`执行SQL语句进行数据的增删改查,并通过`commit()`提交更改。查询时使用`fetchall()`或`fetchone()`获取结果。记得处理异常及关闭连接以释放资源。掌握这些基础,有助于高效进行数据库编程。
32 0

热门文章

最新文章

下一篇
无影云桌面