SpringBoot用JdbcTemplates访问Mysql的过程
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"SpringBoot用JdbcTemplates访问Mysql的过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希
千家信息网最后更新 2025年12月02日SpringBoot用JdbcTemplates访问Mysql的过程
本篇内容介绍了"SpringBoot用JdbcTemplates访问Mysql的过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
准备工作
jdk 1.8
maven 3.0
idea
mysql
初始化mysql:
-- create table `account`DROP TABLE `account` IF EXISTSCREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `money` double DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;INSERT INTO `account` VALUES ('1', 'aaa', '1000');INSERT INTO `account` VALUES ('2', 'bbb', '1000');INSERT INTO `account` VALUES ('3', 'ccc', '1000');创建工程
引入依赖:
在pom文件引入spring-boot-starter-jdbc的依赖:
org.springframework.boot spring-boot-starter-jdbc
引入mysql连接类和连接池:
mysql mysql-connector-java runtime com.alibaba druid 1.0.29
开启web:
org.springframework.boot spring-boot-starter-web
配置相关文件
在application.properties文件配置mysql的驱动类,数据库地址,数据库账号、密码信息。
spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456
通过引入这些依赖和配置一些基本信息,springboot就可以访问数据库类。
具体编码
实体类
public class Account { private int id ; private String name ; private double money;....省略了getter. setter}dao层
public interface IAccountDAO { int add(Account account); int update(Account account); int delete(int id); Account findAccountById(int id); List findAccountList();} 具体的实现类:
package com.forezp.dao.impl;import com.forezp.dao.IAccountDAO;import com.forezp.entity.Account;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Repository;import java.util.List;/** * Created by fangzhipeng on 2017/4/20. */@Repositorypublic class AccountDaoImpl implements IAccountDAO { @Autowired private JdbcTemplate jdbcTemplate; @Override public int add(Account account) { return jdbcTemplate.update("insert into account(name, money) values(?, ?)", account.getName(),account.getMoney()); } @Override public int update(Account account) { return jdbcTemplate.update("UPDATE account SET NAME=? ,money=? WHERE id=?", account.getName(),account.getMoney(),account.getId()); } @Override public int delete(int id) { return jdbcTemplate.update("DELETE from TABLE account where id=?",id); } @Override public Account findAccountById(int id) { List list = jdbcTemplate.query("select * from account where id = ?", new Object[]{id}, new BeanPropertyRowMapper(Account.class)); if(list!=null && list.size()>0){ Account account = list.get(0); return account; }else{ return null; } } @Override public List findAccountList() { List list = jdbcTemplate.query("select * from account", new Object[]{}, new BeanPropertyRowMapper(Account.class)); if(list!=null && list.size()>0){ return list; }else{ return null; } }} service层
public interface IAccountService { int add(Account account); int update(Account account); int delete(int id); Account findAccountById(int id); List findAccountList();} 具体实现类:
@Servicepublic class AccountService implements IAccountService { @Autowired IAccountDAO accountDAO; @Override public int add(Account account) { return accountDAO.add(account); } @Override public int update(Account account) { return accountDAO.update(account); } @Override public int delete(int id) { return accountDAO.delete(id); } @Override public Account findAccountById(int id) { return accountDAO.findAccountById(id); } @Override public List findAccountList() { return accountDAO.findAccountList(); }} 构建一组restful api来展示
package com.forezp.web;import com.forezp.entity.Account;import com.forezp.service.IAccountService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;/** * Created by fangzhipeng on 2017/4/20. */@RestController@RequestMapping("/account")public class AccountController { @Autowired IAccountService accountService; @RequestMapping(value = "/list",method = RequestMethod.GET) public List getAccounts(){ return accountService.findAccountList(); } @RequestMapping(value = "/{id}",method = RequestMethod.GET) public Account getAccountById(@PathVariable("id") int id){ return accountService.findAccountById(id); } @RequestMapping(value = "/{id}",method = RequestMethod.PUT) public String updateAccount(@PathVariable("id")int id , @RequestParam(value = "name",required = true)String name, @RequestParam(value = "money" ,required = true)double money){ Account account=new Account(); account.setMoney(money); account.setName(name); account.setId(id); int t=accountService.update(account); if(t==1){ return account.toString(); }else { return "fail"; } } @RequestMapping(value = "",method = RequestMethod.POST) public String postAccount( @RequestParam(value = "name")String name, @RequestParam(value = "money" )double money){ Account account=new Account(); account.setMoney(money); account.setName(name); int t= accountService.add(account); if(t==1){ return account.toString(); }else { return "fail"; } }} 可以通过postman来测试,具体的我已经全部测试通过,没有任何问题。注意restful构建api的风格。
"SpringBoot用JdbcTemplates访问Mysql的过程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
过程
数据
数据库
文件
配置
信息
内容
更多
知识
测试
实用
学有所成
接下来
可以通过
困境
地址
实体
实际
密码
工程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全入门应该学什么
进京证内部服务器错误是什么原因
图书馆大屏触摸软件开发公司
网络安全法草案2017
重庆安卓软件开发服务商
耳机主板软件开发平台有哪些
数据库中硬件平台有哪些
创建虚拟服务器操作系统
服务器管理器查看错误日志
mssql+演示数据库
我的世界手机怎么创建服务器
腾讯云安全服务器
我的世界租赁服务器
数据库创建部门表用英文怎么说
电子软件开发工程师职责
分类(数据库术语)
网络安全宣传热潮
合肥有搞软件开发的大公司吗
贵州计算机软件开发哪家强
sql语言可以删除数据库吗
无锡多功能软件开发方法
为什么完美一直显示服务器已满
如何理解软件开发成本的昂贵
网络安全区隔离
1u服务器多少钱
计算机网络技术学的科目
西安高新区软件开发公司电话
血液系统疾病数据库
数据库二维表处理方法
河北运河区软件开发公司