Spring Boot 知识笔记(整合Mybatis续-补充增删改查)
续上篇,补充数据库增删改查的其他场景。
一、Mapper中添加其他场景操作
- package net.Eleven.demo.Mapper;
- import net.Eleven.demo.domain.UserNew;
- import org.apache.ibatis.annotations.*;
- import java.util.List;
- /**
- * 功能描述:访问数据库的接口,相当于dao层
- * @author Eleven
- */
- public interface UserMapper {
- //推荐使用#{}取值,不要用${},因为存在注入的风险
- /**
- * 向数据库插入一条数据
- * @param userNew
- * @return
- */
- @Insert("INSERT INTO user(name,phone,create_time,age) VALUES(#{name},#{phone},#{creatTime},#{age})")
- @Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id") //keyProperty java对象的属性;keyColumn表示数据库的字段
- int insert(UserNew userNew);
- /**
- * 查找全部,功能比较简单,也可以直接跳过service层,直接在controller注入mapper
- * @return
- */
- @Select("select * from user")
- @Results({@Result(column = "create-time",property = "createTime")})
- List<UserNew> getAllUser();
- /**
- * 根据id查询,返回的是一个user对象
- * @param id
- * @return
- */
- @Select("select * from user where id=#{id}")
- @Results({@Result(column = "create-time",property = "createTime")})
- UserNew findById(int id);
- /**
- * 根据id更新对象的name
- * @param userNew
- */
- @Update("update user set name=#{name} where id=#{id}")
- void updateById(UserNew userNew);
- /**
- * 根据id,删除一个对象
- */
- @Delete("delete from user where id =#{id}")
- void deleteById(int id);
- }
二、impl文件中增加对应的调用mapper的方法
- package net.Eleven.demo.Service.impl;
- import net.Eleven.demo.Mapper.UserMapper;
- import net.Eleven.demo.Service.UserService;
- import net.Eleven.demo.domain.UserNew;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.validation.constraints.Null;
- import java.util.List;
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserMapper userMapper;
- @Override
- public int add(UserNew userNew) {
- userMapper.insert(userNew);
- int id = userNew.getId();
- return id;
- }
- //查找所有,对应mapper的getAlluser
- public Object findAll(){
- return userMapper.getAllUser();
- }
- //根据id查找,对应mapper的findById
- public Object findById(int id){
- return userMapper.findById(id);
- }
- //更新一个对象
- public void updateById(UserNew userNew){
- userMapper.updateById(userNew);
- }
- //删除一个对象
- public void deleteById(int id){
- userMapper.deleteById(id);
- }
- }
三、controller中增加对应的request请求,通过注入,调用impl的方法,继而执行数据库命令。
- package net.Eleven.demo.controller;
- import net.Eleven.demo.Service.UserService;
- import net.Eleven.demo.Service.impl.UserServiceImpl;
- import net.Eleven.demo.domain.JsonData;
- import net.Eleven.demo.domain.UserNew;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.Date;
- @RestController
- @RequestMapping("/api/sql/user")
- public class UserController {
- @Autowired
- private UserService userService;
- @Autowired
- private UserServiceImpl userServiceImpl;
- @GetMapping("add")
- public Object userAdd(){
- UserNew userNew = new UserNew();
- userNew.setAge(11);
- userNew.setCreatTime(new Date());
- userNew.setName("Eleven");
- userNew.setPhone("18211111111");
- int id = userService.add(userNew);
- return JsonData.buildSuccess(id);
- }
- //查找全部
- @GetMapping("find_all")
- public Object findAll(){
- return JsonData.buildSuccess(userServiceImpl.findAll());
- }
- //根据id查找对象
- @GetMapping("find_by_id")
- public Object findById(int id){
- return JsonData.buildSuccess(userServiceImpl.findById(id));
- }
- //根据id更新对象的name
- @GetMapping("update_by_id")
- public Object updateById(String name,int id){
- UserNew userNew = new UserNew();
- userNew.setName(name);
- userNew.setId(id);
- userServiceImpl.updateById(userNew);
- return JsonData.buildSuccess();
- }
- //根据id删除对象
- @GetMapping("delete_by_id")
- public Object deleteById(int id){
- userServiceImpl.deleteById(id);
- }
- }
四、执行结果
Spring Boot 知识笔记(整合Mybatis续-补充增删改查)的更多相关文章
- spring boot整合mybatis框架及增删改查(jsp视图)
工具:idea.SQLyog 版本:springboot1.5.9版本.mysql5.1.62 第一步:新建项目 第二步:整合依赖(pom.xml) <dependencies> < ...
- Spring Boot 使用Mybatis注解开发增删改查
使用逆向工程是遇到的错误 错误描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...
- Mybatis入门之增删改查
Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- MyBatis -- 对表进行增删改查(基于注解的实现)
1.MyBatis对数据库表进行增/删/改/查 前一篇使用基于XML的方式实现对数据库的增/删/改/查 以下我们来看怎么使用注解的方式实现对数据库表的增/删/改/查 1.1 首先须要定义映射sql的 ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- SpringBoot 源码解析 (九)----- Spring Boot的核心能力 - 整合Mybatis
本篇我们在SpringBoot中整合Mybatis这个orm框架,毕竟分析一下其自动配置的源码,我们先来回顾一下以前Spring中是如何整合Mybatis的,大家可以看看我这篇文章Mybaits 源码 ...
- spring boot 1.4 整合 mybatis druid
http://www.jianshu.com/p/cef49ad91ba9spring boot 1.4 整合 mybatis druid
- SSH(Struts 2.3.31 + Spring 4.1.6 + Hibernate 5.0.12 + Ajax)框架整合实现简单的增删改查(包含分页,Ajax 无刷新验证该用户是否存在)
软件152 余建强 该文将以员工.部门两表带领大家进入SSH的整合教程: 源码下载:http://download.csdn.net/detail/qq_35318576/9877235 SSH 整合 ...
随机推荐
- Java & Android未捕获异常处理机制
一.背景 无论是Java还是Android项目,往往都会用到多线程.不管是主线程还是子线程,在运行过程中,都有可能出现未捕获异常.未捕获异常中含有详细的异常信息堆栈,可以很方便的去帮助我们排查问题. ...
- Android 支持库迁移到AndroidX
一.背景 Android系统版本在不断更新,从最初的Android 1.0到现在Google和各大手机厂商正在推的Android 10,平均下来每个年头都有一个大的版本更新.但用户正在用的手机上的An ...
- 2019-11-29-VisualStudio-好用插件集合
原文:2019-11-29-VisualStudio-好用插件集合 title author date CreateTime categories VisualStudio 好用插件集合 lindex ...
- sql 简单分页查询(ror_number() over)
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC ) AS r_num FROM (select * from #table ...
- C# 文件监听类 FileSystemWatcher 属性
属性: Path——这个属性告诉FileSystemWatcher它需要监控哪条路径.例如,如果我们将这个属性设为“C:Temp”,对象就监控那个目录发生的所有改变.IncludeSubDirecto ...
- [Vscode插件] 自动编译项目中的Sass文件为CSS
插件名 : Live Sass Compiler 今天在VSCode中发现了一个自动watch项目目录下sass文件的插件,摆脱了在控制台中进行手动watch的繁琐. 安装好以后点击右下角即可自动编译 ...
- javascript中的12种循环遍历方法1
1:for循环 let arr = [1,2,3]; for(let i =0;i<arr.length;i++){ console.log(i,arr[i]) } //for循环是js中最常用 ...
- Spark MLlib基本算法【相关性分析、卡方检验、总结器】
一.相关性分析 1.简介 计算两个系列数据之间的相关性是统计中的常见操作.在spark.ml中提供了很多算法用来计算两两的相关性.目前支持的相关性算法是Pearson和Spearman.Correla ...
- Windows 2016 & Windows 10 中IIS安装和配置PHP的步骤
Windows 2016 和 Windows 10 内核是相同的,我们首先需要安装 Internet Information Services (IIS),当然 Win2016 跟 Win10 安装 ...
- javascript之BOM对象(三其他对象)
一.navigator对象 navigator使用来识别浏览器的,是所有支持javascript的浏览器所共有的.与BOM的其他对象不同,每个浏览器的navigator对象都有一套自己的属性. 常见的 ...