- 博客(21)
- 收藏
- 关注
原创 学习笔记----ArrayList
集合 实现List接口: 有序的、不唯一 ArrayList: 特点: 有序、不唯一 数据结构: Object数组 ArrayList:包装类 作用一:ArrayList是基于Object[]实现的,所以该集合只能装引用数据类型,基本数据类型要想装进集合,需要将基本数据类型进行类的包装。 作用二:包装类中有将String类型转换为对应的基本数据类型的方法。 ArrayList的基本用法和特点 特点: 有序的:按照添加的顺序 不唯一:同一个元素可以装多次 1:如何创建泛型对象 ArrayL
2021-01-13 10:59:36
290
原创 前后端分离中mysql插入中文乱码问题
一.修改xml文件 #数据传入sql时编码 ?useUnicode=true&characterEncoding=UTF-8 datasource: username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///hrm-course?useUnicode=true&characterEncoding=UTF-8 二.IDEA修改字符集
2020-11-19 16:40:03
390
1
原创 在IDEA中用Springboot构建后台项目(前后端分离)--------自用勿扰
一.技术栈 SpringBoot(自带Tomcat) Spring SpringMvc Vue ElementUI Axios Mybatis 二.步骤 1.创建一个普通Maven项目 2.导包 :省 3.配置yml文件—application.yml 内容: ----3.1 数据库端口 ----3.2 JDBC四大金刚 ----3.3 Mybatis配置domain别名 ----3.4 开启日志 server: port: 80 spring: datasource: username:
2020-11-04 17:46:18
1979
1
原创 前端中axios提供的前置拦截器和后置拦截器(前后端分离项目结合使用 ---- 见上篇博文)
给每个axios请求都添加一个前置拦截器,发送请求时添加请求头,在第一次后台发给前台一个jsessionid后,前台永久保存在浏览器端,在第二次...第n次进行操作发送请求时,都把 这个jsessionid传给后台,就可以获取到已登录用户,进行操作 (有些功能是必须登录才能操作的. ) //1 使用axios前置拦截器,让所有的请求都携带token axios.interceptors.request.use(config=>{ //携带token let uToken = loc
2020-10-21 22:57:55
2979
原创 在Springboot框架下配置一个登录拦截器 (配合前后端分离项目中前端的前置拦截器和后置拦截器一起使用)
一.写一个普通类 继承 HandlerInterceptor (重写方法和版本有关) package cn.itsource.pethome.user.Interceptor; import cn.itsource.pethome.basic.util.RedisUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springfram
2020-10-21 22:49:21
1530
原创 文件服务器Fastdfs的简单应用
用文件服务器 Fastdfs 写一个HelloWord 需求:将本地图片上传至图片服务器,再控制台打印url pom.xml中引入 <!-- https://mvnrepository.com/artifact/cn.bestwu/fastdfs-client-java --> <dependency> <groupId>cn.bestwu</groupId> <artifactId>fastdfs-client-java<
2020-10-20 11:03:11
206
原创 java中的简单、复杂邮件发送
1.导入Maven包 <!--对邮件的支持jar--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 2.发送人信息的配置 发送邮件需要配置很多
2020-10-20 10:55:52
460
原创 MD5加密技术的简单应用
1 不可逆加密技术,只能加密不能解密。 只能做比对,一般用来加密用户密码。 我们要做的是把密码传入进行加密和数据库查询出来密文进行比对判断密码是否正确。 2 盐值:同一种加密算法,由于不同的盐值,加密出来就不一样。 1)整个系统使用同一个盐值,多个用户共用-定义一个常量 2)每个用户都有自己盐值,就算是相同的密码,两个用户的密码加密出来也不一样。 盐值:一个 * 位数的随机数 Java代码 package cn.itsource.pethome.basic.util; import java.secur
2020-10-20 10:17:30
402
原创 Redis的持久化策略和淘汰策略(面试题)
一.持久化策略 Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置。 1.RDB:把数据最终存储到 .RDB文件中 RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照,默认开启该模式。 在redis.window.conf(核心文件)中: save "" # save 900 1 //至少在900秒的时间段内至少有一次改变K值就保存一次 # save xxx # save 60 10000 2.AOF:以存储命令的方式存到 .
2020-10-20 09:34:58
687
原创 用户模块三(发送验证码的工具)
推荐使用:网建. http://sms.webchinese.com.cn/default.shtml 1.Maven导包 <!--发送验证码核心jar包--> <!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --> <dependency> <groupId>commons-httpclien
2020-10-19 19:34:51
203
原创 用户模块二(发送验证码的业务)
一.准备几个工具类 产生随机数工具类 package cn.itsource.pethome.basic.util; import java.util.ArrayList; import java.util.List; import java.util.Random; /** * 产生随机验证码 * @author * @date 2018/10/26-16:16 */ public class StrUtils { /** * 把逗号分隔的字符串转换字符串数组 *
2020-10-19 19:27:14
177
原创 用户模块一(发送手机验证码功能的实现)
一.前端发送验证码的准备工作 1.点击发送验证码按钮之后,按钮倒计时功能的实现 <!--buttom标签在from表单内部,默认提交时summmit提交(写一个type属性),单独在外面才是一个普通按钮--> <button class="btn" v-html="htmlValue" type="button" :disabled="disabled" href="javascript:void(0);" @click="sendMobileCode" id="se
2020-10-19 19:16:30
799
原创 Redis连接池技术
1.为何用连接池。 数据库一次性访问人数有限,每次访问都会创建一个连接对象,影响效率 2.java代码 package cn.itsource.jedis; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Jedis_Test { @Tes
2020-10-18 17:55:51
2888
1
原创 学习使用Redis(3)在java中使用Redis----HelloWorld
在java中使用Redis客户端选择Jedis Redis中文官网:http://redis.cn/ 1.创建maven普通项目 导包 commons-pool2-2.2.jar jedis-2.5.2.jar 2.开启Redis 3.创建一个test—HelloWorld package cn.itsource.jedis; import org.junit.Test; import redis.clients.jedis.Jedis; public class Jedis_Test {
2020-10-18 17:36:06
276
3
原创 IDEA快捷键显示参数提示
一、IDEA显示参数的提示 IDEA默认的快捷键提示是 " ctrl + p",但是我改成eclipse的快捷键后就没有提示了 File---->settings---->keymap eclipse的默认快捷键没有这个 需要给eclipse的快捷键模板也设置一下 在搜索框输入parameter info 右击添加快捷键 然后确定时候如果提示有其他功能已经占用 就把那个 remove掉就可以了。 ...
2020-10-18 17:20:50
3645
5
原创 学习使用Redis(2)常见的命令和value支持的数据结构
redis的value支持的存储结构有5种: String List(有序可重复) Hash(map) Set(无序可重复) ZSet(有序不可重复) 一:redis操作String的命令: set key value 一次性设置一个key和value get key 根据指定的key获取对应的值 mset key1 value1 key2 value2 key3 value3... 一次性设置多个key和value mget key1 key2 key3 一次
2020-10-18 16:46:48
230
原创 学习使用Redis(1)
一.Nosql:非关系数据库 redis是其中一种 二.Mysql:关系数据库 三.关系数据库和非关系数据库的区别(面试题) 1.有表的一律叫关系数据库(有行和列),且按表的方式存储 // 无表的叫非关系数据库,以key,value形式存储。 2.存数据方式: mysql是存到磁盘,查数据是以sql语句查,且mysql本身存数据量有限(200w),所以存储处理太大数据。 Redis是存到内存和磁盘,只要内存和磁盘足够大,存数据就足够多。 3.处理高并发: Mysql是通过sql语句,处理的就慢。 Redi
2020-10-18 16:41:40
190
4
原创 Mybatis中#{}和${}的区别
#{} 为参数占位符 :sql预编译 防止sql注入 ${} 为字符串替换 :sql拼接 不防止 #{} 和 ${} 的实例:假设传入参数为 1 (1)开始 1)#{}:select * from t_user where uid=#{uid} 2):select∗fromtuserwhereuid=′{}:select * from t_user where uid= ':select∗fromtuserwhereuid=′{uid}’ (2)然后 1)#{}:select * from t_user
2020-10-15 17:02:43
181
原创 sql语句的自定义映射规则(一对多,多对一)
表与表 一对多或者多对一 关联查询时 默认的映射规则不满足,就自定义映射规则。 规律:外键在哪儿,多方就在哪儿。 表t_department 表t_employee 两个表的关联 t_department.manager_id = t_employee.id 准备2个表的domain /** * 部门实体对象 */ @Data public class Department { private Long id; //部门编号 private String sn; //
2020-10-14 14:14:17
1818
原创 分页方式(原生和pageInfo分页插件)
1.原生的分页方式 准备一个类 封装数据总条数(total) 和 分页后的数据(List) 传给前台,让前台解析,赋值给对应的form表单和总条数 //只是封装总条数 和分页数据 方便前台取值 @Data //一个插件:省略get/set/tostring/无参构造 方法 @AllArgsConstructor //有参构造 @NoArgsConstructor //无参构造 public class PageList<T> { //总条数 private Long total = 0
2020-10-14 11:45:31
1413
原创 浏览器针对ajax的几种请求方式和解决跨域问题
1.几种请求方式 常见的请求方式:@RequestMapping Spring4.3中引进了@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping,来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。 @RequestMapping如果没有指定请求方式,将接收Get,Post,Head,Options等所有的请求方式 @GetMapping是一个组合注解,是@RequestMapping(method = Reques
2020-10-14 10:45:06
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅