当前位置: 首页 > news >正文

[springboot笔记三]解释相关创建文件-后端

一、application.yaml

1.1 在application.yaml文件中设置端口为9090

server:port:9090

1.2 用官方spring链接数据库

spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://${ip}:3306/base?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=trueusername:rootpassword:rootip:127.0.0.1

1.3通过控制台查看返回结果 `标记1

本质:控制台中打印log日志
mybatis-plus:mapper-locations:classpath:mapper/*.xmlconfiguration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl

二、WebController

@RestController@RequestMapping("/")publicclassWebController{}

@RequestMapping(“/”):WebController接口前置


application.yaml文件中设置端口为9090

server:port:9090

@RestController@RequestMapping("/web")publicclassWebController{@GetMapping("/hello")privateStringhello(){return"Hello World";}}

后端地址:访问localhost:9090/web/hello 返回Hello World




test1:先引入接口mapper

@ResourceprivateUserMapperuserMapper;

2.1 模糊查询基于Mybatis-plus

@GetMapping("/1/{keyword}")privateList<User>QueryGetuser(@PathVariableStringkeyword){LambdaQueryWrapper<User>queryWrapper=newLambdaQueryWrapper<>();queryWrapper.like(User::getUsername,keyword);returnuserService.list(queryWrapper);}

2.2 ID查询基于Mybatis-plus

@GetMapping("/{id}")privateUsergetUserId(@PathVariableIntegerid){returnuserService.getById(id);}

三、User(实现类)

映射数据库的表

@TableName(value="sys_user")//表名称publicclassUser{@TableId(value="id",type=IdType.AUTO)//标明主键,自增属性privateIntegerid;privateStringusername;privateStringpassword;privateStringnickname;privateStringavatarUrl;}
利用mybatis映射数据库表中的每一个数据
PS:下划线的遵循驼峰命名法,即大写

四、UserMapper(接口interface)

@Select("select * from sys_user") List<User> getUserlist();
此方法在WebController中直接返回为两个空数组
在控制台中打印查看类型

List<User>userlist=userMapper.getUserlist();System.err.println(userlist);returnnull;


发现其返回类型为地址

目的:变为data数据
手段1:generate重写User实现类中的tostring()方法
@OverridepublicStringtoString(){return"User{"+"id="+id+", username='"+username+'\''+", password='"+password+'\''+", nickname='"+nickname+'\''+", avatarUrl='"+avatarUrl+'\''+'}';}

手段2:引入依赖lombok

自动重构 to string,get,set方法
实现类前加上@Data

@Data@TableName(value="sys_user")publicclassUser{@TableId(value="id",type=IdType.AUTO)privateIntegerid;privateStringusername;privateStringpassword;privateStringnickname;privateStringavatarUrl;}

此时WebController中返回的能正常显示数据
return userMapper.getUserlist();

五、MybatisPlusConfig

@Configuration@MapperScan("com.example.springboot.mapper")publicclassMybatisPlusConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));returninterceptor;}
使用MapperScan扫描mapper文件,引入MyBatis分页

六、UserServiceImpl(实现类) IUserService(接口)

IUserService: 接口声明我要提供哪些业务方法,不写具体实现。

UserServiceImpl: 必须实现接口里定义的所有方法。

七、Result | Constants (Interface)

Result

importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;/** * 接口统一返回包装类 */@Data@NoArgsConstructor@AllArgsConstructorpublicclassResult{privateStringcode;privateStringmsg;privateObjectdata;publicstaticResultsuccess(){returnnewResult(Constants.CODE_200,"",null);}publicstaticResultsuccess(Objectdata){returnnewResult(Constants.CODE_200,"",data);}publicstaticResulterror(){returnnewResult(Constants.CODE_500,"系统错误",null);}publicstaticResulterror(Stringcode,Stringmsg){returnnewResult(code,msg,null);}}

Constants

publicinterfaceConstants{StringCODE_200="200";// 请求成功StringCODE_401="401";// 权限不足StringCODE_400="400";// 参数错误StringCODE_500="500";// 系统错误StringCODE_605="605";// 业务异常}

统一改造WebController中return返回类型为Result

@GetMapping("/list")privateResultlist(){returnResult.success(userService.list());}@GetMapping("/{id}")privateResultgetUserId(@PathVariableIntegerid){returnResult.success(userService.getById(id));}@GetMapping("/1/{keyword}")privateResultQueryGetuser(@PathVariableStringkeyword){LambdaQueryWrapper<User>queryWrapper=newLambdaQueryWrapper<>();queryWrapper.like(User::getUsername,keyword);returnResult.success(userService.list(queryWrapper));}@DeleteMapping("/delete/{id}")privateResultdeleteUser(@PathVariableIntegerid){returnResult.success(userService.removeById(id));}
http://www.jsqmd.com/news/1384507/

相关文章:

  • 伯努利分布参数估计实战:极大似然与贝叶斯方法对比
  • 如何在3分钟内解锁极域电子教室控制:JiYuTrainer完整防控制指南
  • 2026常州婚纱礼服实测・无广测评告诉你哪家好 - GrowthUME
  • 供应链思维:从精益生产到数字化管理的五大核心维度
  • 电吉他学习系统指南:从技术基础到音乐表达的完整路径
  • Java核心知识体系构建:从基础语法到JVM实战的完整指南
  • 初高中生毕业可以AI人工智能吗?学校企直通!AI定向培养,毕业优选名企 - 武汉学历升学规划
  • 理解「思考模式」:什么时候该开
  • 2026年广州管道疏通与公共卫生间除臭服务五大推荐:专业解决管道堵塞、异味与公共卫生间运维难题 - 滚动商讯
  • 2026年山东600kw发电机组供应商推荐 山东鸿瑞动力有限公司(山东营销部) - 品牌优推
  • 2026年当下:和田河道边坡治理土工格室哪家好润杰产土工好物,路基防渗都靠谱-润杰工程 - 行业甄选汇
  • 2026年长春透水砖厂家挑选攻略 洪铭建材等优质企业盘点 - 小范同学a
  • 数学建模国赛高效备赛:从信息甄别到论文精修的全流程实战指南
  • 二叉树翻转:递归与迭代实现及应用场景
  • 宇树科技科创板IPO定价21.1美元:拆解机器人公司的技术壁垒与商业估值
  • Spring Boot整合MyBatis-Plus与Druid:构建高效多数据源方案
  • STM32到GD32的RT-Thread迁移实战:Pin to Pin替换的避坑指南
  • 保姆级教程|银行流水翻译公证要在哪办理?多久可以出证? - 实用干货补给站
  • 蜂小推邀请码是多少?**直达37554040,附网盘拉新玩法指南 - 甄选测评官
  • glgeim文件解析:从来源排查到处理方案的完整指南
  • 2026年8月沈阳别墅毛坯全案整装公司口碑好:别墅原创家装工艺林凤装饰 - GrowthUME
  • 学 AI3D 人工智能,把握数字新赛道|2026 专业招生简章 - 武汉学历升学规划
  • 2026年沈阳会计代账挑选攻略 雪球财税等机构梳理 - 小范同学a
  • 靠谱的工业品阿里代运营公司? - GrowthUME
  • 发那科机器人程序导出到U盘:完整流程、关键设置与深度排错指南
  • 2026 年 Python 数据分析全栈实战!从 Pandas 到 PySpark,可视化到 AI
  • 企业考试系统如何对接OA、钉钉和企业微信?SSO单点登录、组织同步与权限一致性设计
  • 第91讲:接单提速——一半时间试错,一半时间交付量产代码
  • 2026年长春玻璃钢雕塑厂家推荐名单汇总一览 - 起跑123
  • 河源紫金黄金回收正规渠道实测:紫金源奢汇资质与服务全维度测评 - 紫金的金