SpringBoot用JdbcTemplates访问Mysql的过程
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容介绍了"SpringBoot用JdbcTemplates访问Mysql的过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希
千家信息网最后更新 2025年01月23日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); ListfindAccountList();}
具体的实现类:
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) { Listlist = 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); ListfindAccountList();}
具体实现类:
@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 ListfindAccountList() { 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 ListgetAccounts(){ 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安全错误
数据库的锁怎样保障安全
饥荒怎么用专属服务器建新存档
富国互联网科技下跌
服务器申请证书找不到模板
戴尔服务器购买
网络安全包括网贷吗
服务器可以当家用机箱上网快吗
sql数据库url怎么获得
计算机网络技术班的班会
数据库管理安全报告
金融软件开发行业简介
perl连接数据库方法
网络安全公益赛疫情捐赠物资
笨马网络技术销售
数据分析转软件开发
在线网络技术咨询商家
织梦数据库更改用户名和密码
为啥数据库不能暴露互联网
甘肃戴尔服务器维修费用云主机
软件开发外企工资高吗
龙岩软件开发兼职
如何考核软件开发公司的实力
杭州亿像互联网科技
excel正在收集数据库
全国矿产地数据库2021
网络安全岗位安全协议
数据库表合并
灵钰网络技术有限公司
对数据库使用强大的加密
在数据库中复制表结构图
计算机网络技术交互式设计