- 博客(37)
- 收藏
- 关注
原创 前后端时间使用LocalDateTime来传时间
LocalDateTime 默认的时间格式是: yyyy-MM-ddTHH:mm:ss,中间多了一个 T 字,这时候因为上边说的T的问题,前端传过来的肯定是带T的格式,现在后端需要设置一个配置类就可以解决。* 但是对于往常的数据来说是没有 T 字的,这就会造成后端在接受或返回时间数据的时候出现异常,现在已经把T去掉了 ,这样就可以把这个转化的string属性设置到对象中传输给前端。输出:2023-04-16 15:45:27。下边的两点本质都是基于修改这个传输的T。1.后端向前端传输时间。
2023-04-16 15:48:29
3143
原创 谷粒商城面试重点
主要是订单服务和购物车服务静态资源放到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
5899
原创 三个表关联的时候,设置对象时候的注意事项
1.两表通过关联表进行相关查询时候,应该尽量避免关联查询,根据情况使用多个单表查询和设置一个Vo对象属性来设置完整的返回对象,通过单表查询出来的对象在后边使用对应属性的时候必须做非空判断。****************当使用查询出来的对象进行赋值的时候应该是selectone 或者是stream流的map形式 只能是对一个对象连续赋值 下边代码的需求:根据中间表 查找对应组的id 和name @Override public AttrRespVo ...
2022-02-14 11:45:43
383
原创 ****************三层架构中类的参数注意事项
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
2015
原创 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
940
原创 通过多个集合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
565
原创 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
967
原创 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
842
原创 开始年份和结束年份计算合同期限以及计算数据库中最大值在后台直接读取
@Override public RespBean addEmp(Employee employee) { LocalDate beginContract = employee.getBeginContract(); LocalDate endContract = employee.getEndContract(); //LocalDate 类型的util方法 计算和第一个参数的相差的天数 第二个 计量单位 long da...
2022-01-14 14:15:53
462
原创 通过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
5395
原创 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
267
原创 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
317
原创 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
132
原创 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
914
翻译 复习自定义方言的使用
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
425
翻译 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
74
原创 union和join的区别
union将两个查询结果去重保存union all 不去重保存inner join 相等查询left join 左连接两个join某些情况都可以使用
2021-11-14 16:47:48
403
原创 登录模块的实现
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
1012
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
1449
原创 href=“#“和javascript:void(0)的区别
href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。而javascript:void(0) 仅仅表示一个死链接,没有任何信息。所以调用脚本的时候最好用void(0)href="#"与javascript:void(0)的区别href="#"方法其实也是空连接的意思,但是点击之后会自动跳转到页面的最上面,因为用了这个方法就相当于点击了一个锚记,但是这个锚记又没写ID,所以就默认跳转到页面顶部。从上面的例子也可以看出,当要执行某些处
2021-11-12 21:50:30
437
原创 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
759
原创 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
1976
原创 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
614
原创 启用,冻结按钮的使用
在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
388
原创 自定义方言
数据中的状态通常使用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
149
原创 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
1874
原创 通过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
614
原创 登录拦截器的实现和控制器异常跳转操作
LoginInterceptor的使用 首先在com.ryf的目录下创建一个intecerceptor的包,然后创建LoginInteceptor的类实现HandlerInterceptor,然后重写preHandler方法写一些具体的操作(比如通过request参数得到session参数来判断是否登录,即是否有user参数值,没有的话response重定向回登录页面return false),否则return true;**拦截器 防止进入后台页面 * @Description: *..
2021-10-27 09:07:08
405
原创 spring security提供的加密方法(自动加盐)
1.pom.xml中导入依赖 <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>5.4.2</version> </dependen
2021-10-23 17:11:05
1169
原创 mybatis中十分容易犯的错误
mapper.xml文件中 type和 map混淆<select id="test" parameterType="map" resultType="blog"></select>这里的是resultType 也就是直接指明生成的类型不能写成resultMap
2021-08-21 21:04:58
76
原创 maven中不在resources下的Mapperxml文件的自动部署
1.在pom.xml中加入<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <includ
2021-08-18 22:28:42
515
原创 getDeclaredMethod 和 invoke 在servlet中的反射应用
String action = req.getParameter(action);Method method = this.getClass().getDeclaredMethod(action,HttpServletRequest.class,HttpServletResponse.class);method.invoke(this,request,response);
2021-07-14 20:28:16
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人