![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Springboot
林先生拆坑日记。
努力做个合格的程序员!
展开
-
@Transient注解理解
使用tkmybatis的时候 mapper层接口要继承tk.mybatis.mapper.common.Mapper但是有个问题 如果要使用 一对多或者多对一 多对多等 复杂查询 需要在bean 实体类中加入其他的对象 。 但是这样的话由于ORM(对象关系映射)会将这个实体对象与数据库字段对应由于找不到所有会报错所有要使用@transient 的注解 这样ORM 将忽略此属性 不会去...原创 2019-09-12 10:44:12 · 582 阅读 · 0 评论 -
(练习demo)mybatis 实现关联查询
按照以下要求建立映射,并且按照要求执行数据库查询操作。教师表:编号、姓名课程表:编号、课程名称、任课老师编号学生表:编号、姓名、班级编号班级表:编号、班级名称学生选课表:学生编号、课程编号要求:1) 根据上面表信息创建相应表;2) 根据表信息定义实体;3) 根据实体在映射文件中定义实体与表的映射;4) 定义映射接口,并按照以下要求提供相应的接口方法;a) 查询所有课程,以及该...原创 2019-08-23 23:37:30 · 354 阅读 · 0 评论 -
(练习demo)mybatis 注解方法 模糊查询
**要求:可以通过编号查询,也可以通过产品标题进行模糊查询。**项目结构ProductMapper.javapackage com.chinasofti.mapper;import java.util.List;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Resu...原创 2019-08-23 23:04:09 · 228 阅读 · 0 评论 -
Mybatis传递多个参数的4种方式
转载连接现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate。使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数。面对各种复杂的业务场景,传递参数也是一种学问。下面给大家总结了以下几种多参数传递的方法。方法1:顺序传参法public User selectUser(String name, int deptId);<select i...转载 2019-08-17 16:20:50 · 175 阅读 · 0 评论 -
(练习SSMdemo)使用异步交互 实现增删查改
demo 结构图核心代码从数据库查询数据<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><script type="text/javascrip...原创 2019-08-24 14:41:42 · 878 阅读 · 2 评论 -
Mybatis和JDBC区别
1.JDBC传统的操纵使用JDBC连接数据库 ,注册驱动 ,数据库信息等操作connection 打开statement对象通过statement对象执行sql通过resultset获取结果集关闭资源弊端: 每次都要连接数据库 创建statement 关闭资源 工作量大 资源浪费mybatis很好的解决了这个弊端mybatis 是对JDBC底层的封装 通过简单XML配置...原创 2019-08-24 13:39:47 · 4117 阅读 · 1 评论 -
mybatis 延迟加载策略,缓存机制,事务管理机制
延迟加载也称为“按需加载”。在执行关联查询时候,mybatis不会把对象的关联实体查询出来,只有在实际使用到关联实体的时候,才会把关联实体查询出来。因此,延迟加载可以减少不必要的关联查询,提高数据库的查询效率。一般来说,延迟加载在一对多或多对多关系中使用较多。配置延迟加载首先,把mybatis安装目录下的asm-7.0.jar和cglib-3.2.10.jar文件拷贝到项目中;接着,按照...转载 2019-08-14 20:07:24 · 261 阅读 · 0 评论 -
mybatis中 一对多, 多对一 多对多 关系查询demo
demo中所用的表 如同User表public class User { //用户表 Integer userId; Integer userType; //用户名 String userName; //用户密码 String userPass; //宿舍ID Integer dormId; //电话 String phone; //宿舍对象 Dorm dorm;...原创 2019-08-13 21:31:22 · 277 阅读 · 0 评论 -
mybatis是如何防止SQL注入的
什么是SQL注入是利用sql语句一种常见的攻击方式 攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如“or ‘1’=’1’”这样的语句,有可能入侵参数校验不足的应用程序。所以在我们的应用中需要做一些工作,来防备这样的攻击方式。<select id="selectByNameAndPassword" parameterType="java.util.Map" result...原创 2019-08-18 00:42:18 · 101 阅读 · 0 评论 -
mybatis注解的动态sql 3种方法
脚本sql@Select("<script>select * from user <if test=\"id !=null \">where id = #{id} </if></script>") public List<User> findUserById(User user); 在方法中构建sqldao接口中是不能写...转载 2019-08-17 16:56:46 · 751 阅读 · 0 评论 -
解决 注入Bean为null的问题 ApplicationContext Spring 上下文对象
做项目的时候在使用一些其他框架的时候 发现Autowired 为NULL 查阅了一些资料发现以下这个方法可以解决这个问题1.创建SpringContextUtil类package com.example.demo.Confi;import org.springframework.beans.BeansException;import org.springframework.conte...原创 2020-02-27 15:38:11 · 2157 阅读 · 1 评论 -
springboot下 hibernate的基本使用
最近学习hibernate的相关知识发现 hibernate和Mybatis存在许多相似的地方记录一下springboot下使用hibernate重点是mapper层需要继承 JpaRepository<BOTEST,String> 这个类提供许多对对数据库操作的方法 CRUDfindAll 查询数据所有内容save 完成添加和更新delete 完成删除当然也能够自定义...原创 2019-11-01 13:49:25 · 845 阅读 · 0 评论 -
springboot通过重写addResourceHandlers拦截请求访问本地资源
通过继承WebMvcConfigurer重写addResourceHandlers 例如当请求为localhost:8080/photo/** 就会去访问本地资源的内容@Configurationpublic class MyWebMvcConfig implements WebMvcConfigurer { @Value("${server.resource}") /** ...原创 2020-02-27 16:01:06 · 1293 阅读 · 0 评论 -
Springboot 使用Quartz 定时任务框架
使用场景: 定时任务时间需要根据数据表的时间来进行定时任务,而springboot自带的定时任务cron表达式 并不能够动态改变 因此使用Quartz 定时任务框架 可以快速解决问题 。SprintBoot 整合 Quartz框架一,导入依赖 <!-- quartz依赖 --> <dependency> <groupId&...原创 2020-01-07 20:51:23 · 168 阅读 · 0 评论 -
SpringMVC 异步上传文件
以前都是同步实现文件上传 比较简单 使用异步的时候给卡了好久 文件一直传不到后台。 通过查找资料后得到下面的方法能够实现异步文件上传异步文件上传主要就是先将图片上传到服务器 在将文件的地址插入到隐藏域后 整个表单提交到后台。需要用的 jquery.form.min.js 这个js文件关键代码如下 <li class="aui-list-item"> ...原创 2019-09-16 21:32:55 · 596 阅读 · 1 评论 -
SpringMVC 个人总结(二)
springMVC 执行流程用户发送请求至前端控制器 DispatcherServletDispatcherServlet 收到请求调用 HandlerMapping 处理器映射器处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServleDispatcherServlet 通过 HandlerAdapter ...原创 2019-08-24 11:11:27 · 88 阅读 · 0 评论 -
springMVC 配置文件 与web配置文件
SpringMVC-servlet.xml1配置视图解析器<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2019-08-24 00:01:11 · 113 阅读 · 0 评论 -
SpringMVC 个人总结(一)
Spring 常用注解@Controller 用来标注该类是控制器@RequestMapping 请求这个类或者方法的URL地址@RequestParam 指定请求参数名@PathVariable 处理请求url中的占位符参数 (可以用来URL传值)@ResponseBody 指定返回值通过response对象输出到页面上、@ModelAttribute 从Model中获取数据,并绑...原创 2019-08-17 14:54:20 · 167 阅读 · 0 评论 -
spring boot 各种文档类型转pdf 之openOffice使用
项目需要将各种txt docx pptx ppt doc xlsx xls 文档类型转成PDF 并在终端显示,查阅资料发现能使用openoffice实现,记录一下使用心得。一 安装openoffice网上很多安装教程 window版本下无脑下一步。spring boot 导入依赖注意 :jodconverter 2.2.1 不支持docx和xlsx等格式 而jodconverter 2.2.2版本是支持。但是jodconverter 2.2.2 在maven仓库是找到不到的 需要自己去网上下载j原创 2020-06-03 10:07:30 · 1222 阅读 · 1 评论 -
@ConditionalOnProperty的作用和用法
在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configuration是否生效.通过其两个属性name以及havingValue来实现的,其中name用来从application.properties中读取某个属性值。如果该值为空,则返回false;如果值不为空,则将该值与havingValue指定的值进行比较,如果一样则返回true;否则返回false。如果返回值为false,则该configuration不生效;为tru原创 2020-05-20 09:25:37 · 4004 阅读 · 0 评论 -
springboot 拦截器 + Guava 开源工具类之 RateLimiter 实现限流
1. 限流每个服务器都有访问上限,当访问的并发量大过服务器的承受范围的时候,我们就需要考虑限流的方式 确保系统挂掉。2.限流算法常见的限流算法有两种:漏桶算法和令牌桶算法。2.1 漏桶算法算法思路: 将请求先加入到桶里,漏桶按照一定的速度将发出 处理请求,当请求并发量过大时候,超出桶的容量就会拒绝请求。2.2 令牌桶算法思路: 系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token ,如果桶已经满了就不再加了.新请求来临时,会各自拿走一个Token,如果原创 2020-05-19 21:01:06 · 1332 阅读 · 0 评论 -
Spring 与 Mybatis 中的 @Repository 与 @Mapper
1 - @Mapper@Mapper 是 Mybatis 的注解,和 Spring 没有关系,@Repository 是 Spring 的注解,用于声明一个 Bean。(重要)使用 Mybatis 有 XML 文件或者注解的两种使用方式,如果是使用 XML 文件的方式,我们需要在配置文件中指定 XML 的位置,这里只研究注解开发的方式。在 Spring 程序中,Mybatis 需要找到对应的...转载 2019-11-13 11:43:23 · 203 阅读 · 0 评论 -
spring 断言工具类Assert的使用
包:org.springframework.util.Assert;Assert断言工具类,通常用于数据合法性检查.一般判断数据是否为空 是这样写if (message== null || message.equls("")) { throw new IllegalArgumentException("输入信息错误!"); } Assert断言工具类 可以直接这样写As...原创 2019-11-12 16:10:07 · 345 阅读 · 0 评论 -
springMVC 几种加载properties配置文件的方法
一 SPring 配置文件 XML <!-- 引入properties配置文件 方式一 --><bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="ign...原创 2019-08-24 14:05:16 · 667 阅读 · 0 评论 -
Spring 个人总结
配置文件Bean的配置基本语法<bean id="" class="" scope="">scope :设置对象的作用范围:1.singleton 默认值 创建是单例 每次都是同一个对象2.prototype 每次获取bean对象都会创建一个新的对象3.request web项目中之只在request中有效4.session 在web项目中 该对象在ses...原创 2019-08-17 14:21:06 · 171 阅读 · 0 评论 -
读《Springboot 实战》 总结
@springbootApplication相当于 包含了几个注解原创 2019-11-22 20:52:49 · 244 阅读 · 0 评论 -
Springboot 发起http请求调用高德接口
RestTemplate templates = new RestTemplate(); //高德天气状况请求地址 String url = "https://restapi.amap.com/v3/weather/weatherInfo?key="+GaoDekey+"&city="+code; // 发起HTTP请求 获取高德天气状况 ...原创 2019-11-19 20:04:11 · 1214 阅读 · 0 评论 -
Springboot 解析excel
导入依赖<!-- 解析excel --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version...原创 2019-11-19 19:55:07 · 167 阅读 · 0 评论 -
springboot websocket demo
导入websocket 依赖 <!--webSocket依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket<...原创 2019-11-14 21:09:17 · 190 阅读 · 0 评论 -
SpringBoot中 Mybaties PageHelper插件使用
一 导入pagehelper的依赖 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.4</version>...原创 2019-09-13 17:03:48 · 115 阅读 · 0 评论 -
springboot 热部署
pom.xml进行以下配置 <!--热部署 --><build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifac...原创 2019-09-13 14:41:33 · 452 阅读 · 0 评论