需要的外部jar包:

mysql-connector-java
druid

配置druid

<!--配置数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
</bean>

  

配置JDBCTemplate对象,注入DataSource

 <!--JDBCTemplate对象-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <!--注入DataSource-->
        <property name="dataSource" ref="dataSource"/>
    </bean>

  

创建server类,创建dao类,在dao注入JDBCTemplate对象

创建server类,创建dao类,在dao注入JDBCTemplate对象

开启组件扫描后

Server类创建对象并且注入Dao

@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
}

  

Dao中注入JDBTemplate对象,用来进行数据库的操作

@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
}

  

使用创建好的JDBCTemplate进行数据操作

添加的操作

创建一个数据库,在数据库中创建一个表:

create table t_book
(
user_id int not null primary key auto_increment,
username varchar(100) not null ,
ustatus varchar(50) not null
)

  

对应数据库表,创建一个实体类

public class Book {
private String userId;
private String username;
private String ustatus;

public String getUserId() {
return userId;
}

public String getUsername() {
return username;
}

public String getUstatus() {
return ustatus;
}

public void setUserId(String userId) {
this.userId = userId;
}

public void setUsername(String username) {
this.username = username;
}

public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}

  

编写Service和dao,在dao进行数据库的添加操作

调用jdbcTemplate对象里面的update()方法来进行数据库的添加操作

有两个参数,是一个参数SQL语句,第二个参是可变参数(SQL语句中的值)

实现数据的添加:

@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;

@Override
public void add(Book book) {
//创建SQL语句
String sql = "insert into t_book(username,ustatus) values(?,?)";
//调用方法实现update.(sql,args)
int update = jdbcTemplate.update(sql, book.getUsername(), book.getUstatus());
System.out.println(update);
}
}

  

编写一个测试类(测试增加数据)

public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
//创建book对象
Book book = new Book();
//传入对象中的值
book.setUsername("测试用户名");
book.setUstatus("成功");
//调用增加方法
bookService.addBook(book);
}
}

  

测试结果(数据写入成功~)

七月 13, 2020 4:35:17 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1

  

查询数据库表可看到

select * from t_book

数据库的添加操作(完成~)


实现数据的修改

创建修改方法

@Override
public void update(Book book) {
String SQL = "update t_book set username=?,ustatus=? where user_id=?";
int update = jdbcTemplate.update(SQL, book.getUsername(), book.getUstatus(), book.getUserId());
System.out.println(update);
}

  

编写一个测试类(测试修改数据)

public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
Book book = new Book();
book.setUserId("1");
book.setUsername("修改测试");
book.setUstatus("yes~");
//调用修改方法
bookService.updateBook(book);
}
}

  

测试结果(数据修改成功~)

七月 13, 2020 4:47:24 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1

查询数据库表可看到

select * from t_book

数据库的修改操作(完成~)


实现数据的删除

创建删除方法

@Override
public void delete(String id) {
String SQL = "delete from t_book where user_id=?";
int update = jdbcTemplate.update(SQL, id);
System.out.println(update);
}

  

编写一个测试类(测试删除数据)

public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
bookService.deleteBook("1");
}
}

  

测试结果(数据删除成功~)

七月 13, 2020 4:56:58 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1

查询数据库表可看到

select * from t_book

数据库的删除操作(完成~)


以上为使用jdbctemplate进行数据库的增删改功能~

以下为全部源码

Bean.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<!--组件扫描服务开启-->
<context:component-scan base-package="com.minelsg"/>
<!--数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root"/>
<property name="password" value="rzt123123"/>
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
</bean>

<!--JDBC Template对象-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入DataSource-->
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>

  

dao层文件

接口

public interface BookDao {
//添加的方法
void add(Book book);

void update(Book book);

void delete(String id);
}

实现类

@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//增加操作
@Override
public void add(Book book) {
//创建SQL语句
String sql = "insert into t_book(username,ustatus) values(?,?)";
//调用方法实现update.(sql,args)
int update = jdbcTemplate.update(sql, book.getUsername(), book.getUstatus());
System.out.println(update);
}
//修改操作
@Override
public void update(Book book) {
String SQL = "update t_book set username=?,ustatus=? where user_id=?";
int update = jdbcTemplate.update(SQL, book.getUsername(), book.getUstatus(), book.getUserId());
System.out.println(update);
}
//删除操作
@Override
public void delete(String id) {
String SQL = "delete from t_book where user_id=?";
int update = jdbcTemplate.update(SQL, id);
System.out.println(update);
}
}

  

entity层文件

public class Book {
private String userId;
private String username;
private String ustatus;

public String getUserId() {
return userId;
}

public String getUsername() {
return username;
}

public String getUstatus() {
return ustatus;
}

public void setUserId(String userId) {
this.userId = userId;
}

public void setUsername(String username) {
this.username = username;
}

public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}

  

Server层文件

@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
//添加的方法
public void addBook(Book book){
bookDao.add(book);
}
//修改的方法
public void updateBook(Book book){
bookDao.update(book);
}
//删除的方法
public void deleteBook(String id){
bookDao.delete(id);
}
}

  

测试类

public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
Book book = new Book();
//book.setUsername("测试用户名");
//book.setUstatus("成功");
//bookService.addBook(book);
//book.setUserId("1");
//book.setUsername("修改测试");
//book.setUstatus("yes~");
bookService.deleteBook("1");
}
}

  Done~

Spring JDBCTemplate 增删查功能 (简单易懂)的更多相关文章

  1. Vue.js-简单的增删查功能

    1.Vue.js是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图 ...

  2. hibernate基础增删查改简单实例

    hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的 ...

  3. JdbcTemplate 增删查改

    准备工作:1,拷贝工具类JDBCUtils, 2,导入包commons-logging-1.2-javadoc.jar   spring-beans-5.0.0.RELEASE-javadoc.jar ...

  4. mybatis、spring、mysql、maven实现简单增删查改

    之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...

  5. Spring JdbcTemplate框架搭建及其增删改查使用指南

    Spring JdbcTemplate框架搭建及其增删改查使用指南 前言: 本文指在介绍spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基 ...

  6. 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)

    1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...

  7. 后端Spring Boot+前端Android交互+MySQL增删查改

    2021.1.27 更新 已更新新版本博客,更新内容很多,因此新开了一篇博客,戳这里. 1 概述 使用spring boot作为后端框架与Android端配合mysql进行基本的交互,包含了最基本的增 ...

  8. java实现简单的数据库的增删查改,并布局交互界面

        一.系统简介 1.1.简介  本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...

  9. springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能

    转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包     数据库表 数据库表就不用教大家了,一张表,很简 ...

  10. [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版

    (课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...

随机推荐

  1. eBPF 概述:第 1 部分:介绍

    1. 前言 有兴趣了解更多关于 eBPF 技术的底层细节?那么请继续移步,我们将深入研究 eBPF 的底层细节,从其虚拟机机制和工具,到在远程资源受限的嵌入式设备上运行跟踪. 注意:本系列博客文章将集 ...

  2. GLSL利用SDF进行矩形绘制公式推导

    简单记录一下关于SDF绘制矩形的公式推导,因为我们在iq的SDF代码中,给的直接是最后的推导结果,对它是怎么得来的,还是有点困惑. //这是利用sdf绘制矩形 float sdBox( in vec2 ...

  3. Python | os.path.join() method

    Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...

  4. 2020年度国产数据库:openGauss

    根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...

  5. localStorage 、 sessionStoarge 和 cokies 的区别

    1. 三者的概念 1.1 cookies Cookie,有时也用其复数形式 Cookies.类型为"小型文本文件",是某些网站为了辨别用户身份,进行Session(会话)跟踪而储存 ...

  6. vue 的常用指令以及作用 ·

    1. v-model 多用于表单元素实现双向数据绑定(同 angular 中的 ng-model) 2. v-for 格式: v-for="字段名 in(of) 数组 json" ...

  7. 探索 Kubernetes 持久化存储之 Longhorn 初窥门径

    作者:运维有术星主 在 Kubernetes 生态系统中,持久化存储扮演着至关重要的角色,它是支撑业务应用稳定运行的基石.对于那些选择自建 Kubernetes 集群的运维架构师而言,选择合适的后端持 ...

  8. 【Kernel】基于 QEMU 的 Linux 内核编译和安装

    目录 安装虚拟机系统 共享目录 编译内核 卸载内核 参考资料 本文主要记录个人做存储系统研究时,在 QEMU 环境下编译和安装 Linux 内核的过程 安装虚拟机系统 之前在 利用 RocksDB + ...

  9. [rCore学习笔记 031] SV39多级页表的硬件机制

    看到这个题目就知道上一节提到的RISC-V手册的10.6节又有用武之地了. 这里只需注意,RV32 的分页方案Sv32支持4GiB的虚址空间,RV64 支持多种分页方案,但我们只介绍最受欢迎的一种,S ...

  10. 面试:靠着这篇笔记,我拿下了16k车载测试offer!

    如何写简历个人技能个人技能一般不要超过10条,一般在8条内. 一.测试流程和技术 1.熟悉车载系统研发和测试流程,能独立编写各种测试文档. 2.熟悉车载系统测试用例设计思路,能独立编写仪表和车机的测试 ...