需要的外部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. 24. echarts 可以画哪些图表

    1. 折线图 2. 柱状图 3. 饼图 4. 地图 5. 雷达图 延申问题:画折线图和柱状图哪些配置可以改变样式 1.  color  设置每个数据的颜色 2. grid 网格设置图表的大小 3. s ...

  2. Leetcode Practice --- 栈和队列

    目录 155. 最小栈 思路解析 20. 有效的括号 思路解析 1047. 删除字符串中的所有相邻重复项 思路解析 1209. 删除字符串中的所有相邻重复项 II 思路解析 删除字符串中出现次数 &g ...

  3. C#使用Socket实现分布式事件总线,不依赖第三方MQ

    使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ. CodeWF.EventBus.Socket 是一个轻量级的.基于 Socket 的分布式事件总线系统,旨在简化分布式架 ...

  4. C++泛型一:模板

    数据类型给程序设计带来的困扰及解决方案 int maxt(int, int); double maxt(double, double); 若有一种占位符T,能够代替类型,便可以简化代码的冗余编写 T ...

  5. 题解:P6672 [清华集训2016] 你的生命已如风中残烛

    题解:P6672 [清华集训2016] 你的生命已如风中残烛 标签 组合数学 分析 首先引入一个引理. Raney 引理 对于一个长度为 \(n\) 的序列 \(a\),如果 \(\sum\limit ...

  6. IPC-7711/7721D-中文版 CN 2024 电子组件的返工、修改和维修标准

    IPC-7711D-7721D-中文版 CN 2024 电子组件的返工.修改和维修标准 链接:https://pan.baidu.com/s/1r5dm9vsj4-Oj2Jw0HgeTHw?pwd=1 ...

  7. php 如何实现 git diff

    无意间想到这个问题,如何用php来实现git diff,如果实现了这个功能,岂不是能够使用php对在线编辑文件的功能做更进一步的优化和提升? 查了一下还真有这样的库,话不多说,开始执行 compose ...

  8. gearman任务分发改进

    基于我上次在这里发现的问题,就是一次性投递20个消息,用sleep等待后发现,最后一个任务需要等前面19个都跑完才能执行,所以这里做一下改进. client.php <?php $client ...

  9. 使用MySQL Shell 8.4.1-LTS 直接将数据复制到 MySQL实例

    在之前的文章中,我谈到了如何使用 MySQL Shell 通过多线程过程来转储和加载数据,以及如何以不同格式导出表数据,然后可以将这些数据导入到新的 MySQL 实例中.这篇文章将讨论我们如何直接将数 ...

  10. 浅谈Java的Mina框架传递对象

    本篇文章主要讲解Java的Mina框架传递对象是什么,并附于代码和图片方便大家理解. AD:2013大数据全球技术峰会课程PPT下载 接触java的Mina框架已经有很多时间了,在网上也读过了很多的相 ...