Springboot整合jdbc_template

news/2024/9/23 10:19:00/

1.构建Springboot项目

利用springboot整合jdbctemplate,并不需要导入其他的依赖,具体的项目结构图如图
在这里插入图片描述

2.写domain层

数据库映射的实体类

package com.jkk.springboot_jdbc_template.domain;/*** @author jkk*/import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;import java.io.Serializable;/*** Users类将数据库中的users表映射在一起* @author jkk* @see java.io.Serializable*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Users implements Serializable {private String username;private String password;private String idNumber;private String phoneNumber;private String gender;private String dataStatus;private static final long serialVersionUID = 1L;
}

3.mapper层

是对数据库的操作,可以直接注入
在这里插入图片描述

package com.jkk.springboot_jdbc_template.mapper;import com.jkk.springboot_jdbc_template.domain.Users;
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;/*** 这一层是数据库访问层.* <p>主要是对数据库的增删查改</p>* @author jkk*/
@Repository
public class UsersMapper {@AutowiredJdbcTemplate jdbcTemplate;public int addUser(Users users){return jdbcTemplate.update("insert into users(username,password,id_number,phone_number,gender,data_status) values (?,?,?,?,?,?)",users.getUsername(),users.getPassword(),users.getIdNumber(),users.getPhoneNumber(),users.getGender(),users.getDataStatus());}public int updateUser(Users users){return jdbcTemplate.update("update users set password=?,id_number=?,phone_number=?,gender=?,data_status=? where username=?",users.getPassword(),users.getIdNumber(),users.getPhoneNumber(),users.getGender(),users.getDataStatus(),users.getUsername());}public int deleteByUserName(String userName){return jdbcTemplate.update("delete from users where username = ?",userName);}public Users getByUserName(String userName){return jdbcTemplate.queryForObject("select * from users where username = ?",new BeanPropertyRowMapper<>(Users.class),userName);}public List<Users> getAllUser(){return jdbcTemplate.query("select * from users",new BeanPropertyRowMapper<>(Users.class));}
}

4.service层

package com.jkk.springboot_jdbc_template.service;import com.jkk.springboot_jdbc_template.domain.Users;
import org.springframework.stereotype.Service;import java.util.List;/*** @author jkk*/
public interface UserService {/*** 添加用户信息* @param users* @return*/public int addUser(Users users);/*** 修改用户信息* @param users* @return*/public int updateUser(Users users);/*** 删除用户信息* @param userName* @return*/public int deleteByUserName(String userName);/*** 查找单个信息* @param userName* @return*/public Users getByUserName(String userName);/*** 查询所有信息* @return*/public List<Users> getAllUser();
}
package com.jkk.springboot_jdbc_template.service.impl;import com.jkk.springboot_jdbc_template.domain.Users;
import com.jkk.springboot_jdbc_template.mapper.UsersMapper;
import com.jkk.springboot_jdbc_template.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/***具体的业务逻辑层.* @see com.jkk.springboot_jdbc_template.service.UserService* @author jkk*/
@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UsersMapper usersMapper;@Overridepublic int addUser(Users users) {return usersMapper.addUser(users);}@Overridepublic int updateUser(Users users) {return usersMapper.updateUser(users);}@Overridepublic int deleteByUserName(String userName) {return usersMapper.deleteByUserName(userName);}@Overridepublic Users getByUserName(String userName) {return usersMapper.getByUserName(userName);}@Overridepublic List<Users> getAllUser() {return usersMapper.getAllUser();}
}

5.controller层

package com.jkk.springboot_jdbc_template.controller;import com.jkk.springboot_jdbc_template.domain.Users;
import com.jkk.springboot_jdbc_template.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @author jkk*/
@RestController
public class UsersController {@Autowiredprivate UserService userService;@GetMapping("/user")public String userTest(){Users users = new Users();users.setUsername("test4");users.setPassword("test4");users.setIdNumber("444");users.setPhoneNumber("444");users.setGender("男");users.setDataStatus("0");int add = userService.addUser(users);int delete = userService.deleteByUserName("test3");users.setPhoneNumber("555");int update = userService.updateUser(users);Users test4 = userService.getByUserName("test4");System.out.println(test4);List<Users> allUser = userService.getAllUser();System.out.println(allUser);
//        return "插入了"+add+"行,删除了"+delete+"行,更新了"+update+"行";return test4.toString();}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/657572.html

相关文章

【Java-SpringBoot+Vue+MySql】前后端分离项目云端部署

目录 部署环境&#xff1a; 安装MYSQL&#xff1a; 安装Nginx 安装配置JDK 远程连接数据库 前端打包 后端打包 心得&#xff1a; 部署环境&#xff1a; CentOS7.6 MySQL5.7 JDK1.8 Nginx1.8 下载MySQL MySQL :: Download MySQL Community Server (Archived Versions) …

PhotoZoom2020pro激活序列号秘钥下载8版安装教程

Photozoom pro8中文版是一款为用户提供专业图片放大处理技术的工具&#xff0c;它为专业版&#xff0c;和普通版相对于而言拥有更多性能&#xff0c;并且与ps、AE、Lightroom以及Corel PaintShop Pro相兼容&#xff0c;支持众多自动化插件的使用&#xff0c;图片优化效果更加&a…

cdr2020永久序列号及试用过期解决

Coreldraw Graphics Suite2020是加拿大Corel公司的平面設計軟件&#xff1b;該軟件是Corel公司出品的向量圖形製作工具軟體&#xff0c;這個圖形工具給設計師提供了向量動畫、頁面設計、網站製作、點陣圖編輯和網頁動畫等多種功能。 該影像軟件是一套屢獲殊榮的圖形、影像編輯…

Vegas18 pro视频编辑软件下载官方激活码-序列号-密钥版-注册

Vegas Pro 18的AI-人工智能和GPU硬件加速功能&#xff0c;能够有效加快视频创作的流程&#xff0c;同时搭配Sound Forge Pro 14&#xff0c;实现音频编辑的精细化。在非线性编辑方面&#xff0c;Vegas Pro再次成为创新领导者。 现代化的用户界面可提供可定制的体验&#xff0c;…

0基础学习VR全景平台篇 第52篇:高级功能-开场加载!

大家好&#xff0c;欢迎观看蛙色VR官方系列——后台使用课程&#xff01; 本期为大家带来蛙色VR平台&#xff0c;高级功能-开场加载&#xff01; 功能位置示意 一、本功能将用在哪里&#xff1f; 开场加载&#xff0c;指作品制作上线&#xff0c;观看者打开VR漫游作品首先看到…

07-Flink的keyby怎么实现的分区?分区、分组的区别是什么?

一&#xff1a;题目 Flink的keyby怎么实现的分区&#xff1f;分区、分组的区别是什么&#xff1f;二&#xff1a;答案 Keyby实现原理&#xff1a; 对指定的key调用自身的hashCode方法》hash1 调用murmruhash算法&#xff0c;进行第二次hash 》键组ID 通过一个公式&#xff0c…

俄罗斯4 部历史影视剧-俄文难学吗

俄文影片&#xff0c;让你一边学俄文&#xff0c;一边探索俄国的历史、文化&#xff1a; 1.救国同盟 Союз спасения 这是一部比较新的俄文电影&#xff0c;于 2019 年末上映。主要讲述一群 3000 人的俄国士兵&#xff08;又称十二月党人 (Декабристы)&a…

中国电影史

中国电影史&#xff08;自学使用&#xff0c;无商业用途&#xff09; 1.中国电影的诞生《定军山》 1.简介 1905年4月&#xff0c;北京丰泰照相馆的老板任景丰&#xff0c;指导其照相师刘仲伦用一台极其原始的法国手摇摄影机和十几卷胶片拍摄了著名京剧演员谭鑫培演出的《定军…