需要的外部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. python——celery异常consumer: Cannot connect to redis://127.0.0.1:6379/1: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.

    1.检查 Redis 日志: 查看 Redis 的日志文件(通常位于 /var/log/redis/redis-server.log 或者根据你的配置文件中指定的位置),以获取有关错误原因的详细信息. ...

  2. document.designMode 设计模式

    document.designMode 的默认值是 off 关闭: 在控制台输入 document.designMode = 'on' 就可以编辑页面内容:

  3. yarn serve 不能开启vue项目 the project seem to require yarn but isnot install

    error: answer: 删除 yarn.lock 或者使用 npm run serve 替换 ; ps: yarn.lock 是锁定第三方包版本的文件:

  4. 在 Vue 实例中编写生命周期hook 或者其它 option/propertie 时,为什么不适用箭头函数 ?

    首先,箭头函数没有自己的 this 环境变量 会沿用作用域使用父级this : 由Vue 管理的函数 ,如果写成箭头函数 this 就不在是 Vue 实例 了 :

  5. 阿里云服务器安装mysql镜像

    新创建的服务器首先需要创建安全组,开放端口然后重启服务器 登陆远程服务器,具体操作步骤如下 #拉取镜像 docker pull mysql:5.7 #查看镜像是否拉取到 docker images # ...

  6. 工作使用:Exchange命令集(超级重要)

    工作使用:Exchange命令集(超级重要) 命令1:导出某个用户的邮件                  New-MailboxExportRequest   -mailbox  dusonglin ...

  7. SqlUtils 使用

    一.前言 随着 Solon 3.0 版本发布,新添加的 SqlUtils 接口,用于操作数据库,SqlUtils 是对 Jdbc 原始接口的封装.适合 SQL 极少或较复杂,或者 ORM 不适合的场景 ...

  8. C# .netcore NPOI库 实现报表的列自适应删减

    实际需求:业务上的一个需求,数据库表A中的B字段存放的是该条数据的一些标签,标签存在两级[即一级标签和二级标签], 现在要是实现将这些标签统计到报表中,一级标签作为表头,二级标签作为填充值. 由于之前 ...

  9. SpringBoot2.0 整合 JWT 框架后台生成token

    一.传统Session认证 1.1.认证过程 1.用户向服务器发送用户名和密码.2.服务器验证后在当前对话(session)保存相关数据.3.服务器向返回sessionId,写入客户端 Cookie. ...

  10. LLM应用实战: 给个公司简称,输出公司全称

    1.背景 本qiang~本周在处理手头项目工作的时候,遇到了一个问题,就是友方提供了一个公司名称列表(量不小~,因此无法人工处理),且该公司名称列表均为简称,需要与库中的全称做一个映射匹配. 看似简单 ...