springboot项目中的注意点
戏子☜已入画@
新的开始,继续加油啊啊啊啊啊啊
展开
-
谷粒商城面试重点
主要是订单服务和购物车服务静态资源放到nginx中,实现动静分离前端使用thymeleaf开发 引入gav,静态资源放到resource下的templates文件夹下边在application.yml中导入关闭thymeleaf的缓存spring:thymeleaf:cache:false查询一级分类(首页内容加载首页就需要加载这些数据)@GetMapping("/")public String getIndex(Model model){List&l...原创 2022-05-04 16:07:23 · 5636 阅读 · 0 评论 -
三个表关联的时候,设置对象时候的注意事项
1.两表通过关联表进行相关查询时候,应该尽量避免关联查询,根据情况使用多个单表查询和设置一个Vo对象属性来设置完整的返回对象,通过单表查询出来的对象在后边使用对应属性的时候必须做非空判断。****************当使用查询出来的对象进行赋值的时候应该是selectone 或者是stream流的map形式 只能是对一个对象连续赋值 下边代码的需求:根据中间表 查找对应组的id 和name @Override public AttrRespVo ...原创 2022-02-14 11:45:43 · 358 阅读 · 0 评论 -
****************三层架构中类的参数注意事项
1.在dao层 的接口类,添加@param()完成映射,在xml中就不需要写parametertype进行说明2.在查询list操作中,一般都是加上三个参数,一个是前端的所有查询条件的一个总param参数,两个分页参数,pagenum,pagesizepublic CommonResult<CommonPage<OmsOrder>> list(OmsOrderQueryParam queryParam, @RequestParam(value = "pageSize",原创 2022-01-30 15:56:44 · 1987 阅读 · 0 评论 -
Mysql5.7 出现 this is incompatible with sql_mode=only_full_group_by 解决方案
重启mysql服务会消失,重新来一遍就好了SELECT @@global.sql_mode;SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';原创 2022-01-27 13:31:23 · 919 阅读 · 0 评论 -
通过多个集合list使用反射方法设置属性值
//多个list 使用相同的转换,提出一个方法作为共同utils方法public void SaveManyList(List list, Long productId, IService service){ // 如果数据为空 或者长度为0 不做任何操作 if(CollectionUtil.isEmpty(list)) return; try { // 循环 反射 赋值商品id for (Object..原创 2022-01-24 23:26:17 · 544 阅读 · 0 评论 -
springsecurity中的自定义反序列化
1.实体类实现了Userdetails接口,重写了几个方法,但是admin实体类没有Collection<? extends GrantedAuthority>这个属性,json就不能反序列化这个获得角色的类@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("t_admin")@ApiModel(value="Admin对象", description="")public原创 2022-01-15 14:55:22 · 876 阅读 · 0 评论 -
EasyPoi导出数据导入数据
1.导包2.直接在controller方法中写逻辑@ApiOperation(value = "导出员工数据")//注意这使用流输出 必须使用produces="application/octet-stream" 标记出来 否则 会有乱码//形式输出 和验证码一样 也需要写这个注释 @GetMapping(value="/export",produces = "application/octet-stream") public void exportEmploye原创 2022-01-14 16:25:23 · 813 阅读 · 0 评论 -
开始年份和结束年份计算合同期限以及计算数据库中最大值在后台直接读取
@Override public RespBean addEmp(Employee employee) { LocalDate beginContract = employee.getBeginContract(); LocalDate endContract = employee.getEndContract(); //LocalDate 类型的util方法 计算和第一个参数的相差的天数 第二个 计量单位 long da...原创 2022-01-14 14:15:53 · 439 阅读 · 0 评论 -
通过response返回json数据到前端
1.response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); PrintWriter out = response.getWriter(); RespBean bean = RespBean.error("未登录,请登录"); bean.setCode(401); out.write(new ObjectMapper()原创 2022-01-09 09:52:16 · 5297 阅读 · 0 评论 -
yml配置文件
server: port: 8081spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/yeb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456 hi.原创 2022-01-06 15:25:09 · 239 阅读 · 0 评论 -
springboot图片上传
1.controller 接口@postMappingpublic Result upload(@RequestParam("image") MultpartFile file){//使用@RequestParam:要指明前端传过来的参数名并与其对应//使用@RequestBody:直接对象接收,属性名要与前端传过来的数据的key值对应 //原始文件名称 比如说aa.png String originalFilename = file.getOriginalFilename();原创 2022-01-03 10:29:47 · 302 阅读 · 0 评论 -
aop切入日志
ioc和aop是spring的两大特征,ioc为我们提供了一个ioc容器,容器帮我们去创建对象,不用手动创建,下面是注解aop的操作步骤。 首先自己 定义注解LogAnnotation,注意加上三个注解 package com.mszlu.blog.common.aop;import java.lang.annotation.*;/** * 日志注解 */ //ElementType.TYPE代表可以放在类上面 method代表可以放在方法上@Target(ElementType.M原创 2022-01-03 09:57:45 · 120 阅读 · 0 评论 -
BootStrap常用知识点(详解)
1.在html中的模板<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <!--使⽤X-UA-Compatible来设置IE浏览器兼容模式 最新的渲染模式--> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- viewport表示⽤户是否可以缩放⻚⾯; width指定原创 2021-11-18 16:21:57 · 874 阅读 · 0 评论 -
p div span 标签的区别
p标签就是两行div是一行‘span 可以嵌套到其他两个中其他的不能嵌套到span'原创 2021-11-16 15:16:31 · 292 阅读 · 0 评论 -
复习自定义方言的使用
1.状态使用0或1表示,数据库中一般使用数字对应2.创建相应的model类型@Datapublic class SysDict implments Serializable{private static final long serialVersionUID = 1L;@TableId(type=IdType.Auto)//设置主键自增private Integer id;private String typeCode; //字典值的类型private String value; //翻译 2021-11-16 10:40:36 · 380 阅读 · 0 评论 -
2021-11-15
登录功能首先在登录页面登录按钮绑定th:onclick="|login()|"事件登录验证方法中 如果成功就 window.location.href=contextPath+"/login/index"style:::::::display:none 使得div标签中的label标签的提示信息(alert-danger)隐藏,后边在success方法中在适当的情况下展现出来,$("userTip").css("display","block"),<script th:in翻译 2021-11-15 08:37:42 · 59 阅读 · 0 评论 -
union和join的区别
union将两个查询结果去重保存union all 不去重保存inner join 相等查询left join 左连接两个join某些情况都可以使用原创 2021-11-14 16:47:48 · 379 阅读 · 0 评论 -
登录模块的实现
1.<div class="col-sm-5"><label class="col-sm-2 control" name="username" placeholder="请输入用户名"> <span class="#"> </span></div><div class="col-sm-3" id="userTip" style="padding-top: 10px;display: none"> <label原创 2021-11-13 16:09:47 · 976 阅读 · 1 评论 -
注册功能的实现(详细)
1.验证用户名是否存在,利用onblur事件进行异步验证<div class="col-sm-5"> <input type="text" class="form-control" required placeholder="小写字母集开头" th:onblur="|checkUser(this)|"></div><div id="msg" class="col-sm-3" style="padding-top: 10px; display:原创 2021-11-13 15:00:54 · 1424 阅读 · 0 评论 -
href=“#“和javascript:void(0)的区别
href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。而javascript:void(0) 仅仅表示一个死链接,没有任何信息。所以调用脚本的时候最好用void(0)href="#"与javascript:void(0)的区别href="#"方法其实也是空连接的意思,但是点击之后会自动跳转到页面的最上面,因为用了这个方法就相当于点击了一个锚记,但是这个锚记又没写ID,所以就默认跳转到页面顶部。从上面的例子也可以看出,当要执行某些处原创 2021-11-12 21:50:30 · 410 阅读 · 0 评论 -
jquery局部加载数据和分页
使用jquery的load方法局部刷新数据<script th:inline="javascript">//thymeleaf中获取应用路径var contextPath = [[${#request.getContextPath()}]]</script>//这个不需要点击直接加载第一页的值,和后边的加入了onclick的形成对比//function方法直接加载 两个框中的数据第一页<script type="text/javascript">原创 2021-11-12 17:04:18 · 727 阅读 · 0 评论 -
登录拦截器的实现和控制器异常跳转操作
LoginInterceptor的使用 首先在com.ryf的目录下创建一个intecerceptor的包,然后创建LoginInteceptor的类实现HandlerInterceptor,然后重写preHandler方法写一些具体的操作(比如通过request参数得到session参数来判断是否登录,即是否有user参数值,没有的话response重定向回登录页面return false),否则return true;**拦截器 防止进入后台页面 * @Description: *..原创 2021-10-27 09:07:08 · 385 阅读 · 0 评论 -
通过springsecurity在页面和controller代码中获取用户
1.在页面中使用sec:authentication="name"获取用户的姓名<a href="javascript:;" sec:authentiaction="name">姓名</a>2.使用springsecurity后不能在controller中使用session取用户,只能通过一下代码来获取用户信息。 @RequestMapping("/index") public String index(Model model) { //读取当原创 2021-11-02 15:30:31 · 579 阅读 · 0 评论 -
mybatis的mapperxml文件
1.首先使用得到是springboot继承环境,创建mybatis的配置文件,在yml文件中添加mybatis的一些配置信息mybatis: typeAliasesPackage:com.ruoyi.**.domain mapperLocations: classpath*:mapper/**/*Mapper.xml #加载全局配置文件 configLocation:classpath:mybatis/mybatis-config.xml..原创 2021-11-06 17:18:04 · 1827 阅读 · 0 评论 -
自定义方言
数据中的状态通常使用0或1表示冻结和使用,数据库中使用的多是数字记录,需要使用字段进行相应的映射在前端页面显示。创建相应的类(下边给个例子),service,mapper,controller@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class SysDict implements Serializable { private static final long serialVe原创 2021-11-09 15:49:00 · 113 阅读 · 0 评论 -
启用,冻结按钮的使用
在js中取值需要使用<script th:inline="javascript"><script th:inline="javascript">//只有加了th:inline才可以在js中取值 var contextPath=[[${#request.getContextPath}]];//用于ajax中的url路径</script>1.首先页面根据status的数值显示按钮<button class="layui-btn layui-b原创 2021-11-10 11:23:17 · 363 阅读 · 0 评论 -
springboot实现图片上传
1.使用layui的组件实现按钮2.使用modelAttribute注解实现数据的传入(这个是点击编辑后有了这个对象实例)@Controller@RequestMapping("/a/film")public class FilmController{//只要访问路径中有id值的传入就会执行这个方法返回一个Film对象@ModelAttribute("film")public Film get(Integer id){ if(id!=null){ return fi原创 2021-11-11 16:30:44 · 592 阅读 · 0 评论 -
mybatisplus在model中的一些注解
1.@TableName=(value="对应数据库中得的名称")2.类需要继承Model<相应类的名称>,主键需要添加自增@TableName(value="bs_book")public class Book extends Model<Book>{@TableId(type = IdType.AUTO)private Integer id;//这是下边定义的那个枚举类private Category category;}3.枚举值的对应/**原创 2021-11-12 15:16:14 · 1889 阅读 · 0 评论