Java高级框架
文章平均质量分 67
Java高级框架
落花雨时
守破离,断舍进。
展开
-
MyBatisPlus的基本使用
概述MyBatisPlus是为了简化我们代码书写而诞生了,使用它之后我们可以减少大量SQL语句的书写,提升开发效率(就是让我们变得更懒),它内置了许多常用的SQL操作,我们在配置好之后就可以使用了。使用1. 建表DROP TABLE IF EXISTS user;CREATE TABLE user(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11)原创 2021-01-22 15:52:39 · 324 阅读 · 0 评论 -
Spring Security整合JWT实现前后端分离认证和权限管理(超详细)
核心步骤创建项目配置pom.xml在配置文件中写入jwt相关配置,并创建JWT的配置类,使用@ConfigurationProperties(prefix = “jwt”)与配置文件关联起来创建自己的用户类创建自己的认证失败类创建自己的权限不足类创建自己的认证成功处理类创建自己的UserDetailsService创建JWT工具类创建自定义的Token过滤器创建自己的Spring Secrity配置类(将之前的自定义的配置全部设置进去)一、创建项目默认创建Spring B原创 2021-01-11 13:07:10 · 15648 阅读 · 67 评论 -
Git 常用命令总结
Git常用命令总结整体指令还是比较多,先放几个最最常用的指令# 初始化代码仓库git init# 把需要提交的所有修改放到暂存区(Stage)git add <file># 提交所有文件git add . # 提交代码git commit -m "commit_info"# 创建分支:git branch <name># 切换分支(方法一):git checkout <name># 切换分支(方法二):git switch &原创 2021-01-07 17:16:40 · 145 阅读 · 0 评论 -
前后端分离Java统一响应返回格式
一共需要两个类,一个专门用来存储返回的状态码,一个专门用来存储返回结果ResultCode类public class ResultCode { public static Integer SUCCESS = 200; public static Integer ERROR = 500; public static Integer FORBIDDEN = 403; public static Integer UNAUTHORIZED = 401;}Resul.原创 2021-01-05 15:07:22 · 1002 阅读 · 0 评论 -
MyBatis 开启驼峰命名匹配映射
#MyBatis配置mybatis: configuration: #开启驼峰命名匹配映射 map-underscore-to-camel-case: true上面是以yaml格式设置的,properties文件也是同理,xml文件配置一样可以。之所以要开始这个是因为我们在数据库的命名一般是用下划线(如user_id),而在Java做项目是用的大多都是驼峰命名规则(如userId),为了让他们自动匹配,需要开启这个功能,不然还要自己一个一个的去匹配,十分麻烦。...原创 2020-12-30 09:13:02 · 1055 阅读 · 0 评论 -
MyBatis环境搭建
一、导入jar包我用idea是先放到tomcat的lib目录下,然后再导进来。二、在 src 下新建全局配置文件(编写 JDBC 四个变量)2.1 没有名称和地址要求2.2 在全局配置文件中引入 DTD 或 schema (也可下载dtd文档,然后再引入) 2.2.1 如果导入 dtd 后没有提示 Window--> preference --> XML --...原创 2019-05-14 18:43:25 · 193 阅读 · 0 评论 -
MyBatis三种查询方式
1.selectList() 返回值为 List<typeResult 属性控制> 1.1 适用于查询结果都需要遍历的需求List<Flower> list = session.selectList("a.b.selAll");for (Flower flower : list) {System.out.println(flower.toString(...原创 2019-05-15 07:14:02 · 671 阅读 · 0 评论 -
MyBatis的parameterType属性以及分页的实现
1.在映射文件中的select等标签中,parameterType属性可控制参数类型(int,String......)示例:<select id="test" resultType="com.bjsxt.pojo.People" parameterType="int">2. SqlSession 的 selectList()和 selectOne()的第二个参数和 se...原创 2019-05-15 07:49:24 · 643 阅读 · 0 评论 -
MyBatis typeAliases 别名
1.系统内置别名: 把类型全小写2.给某个类起别名 2.1 alias=”自定义”<typeAliases> <typeAlias type="com.bjsxt.pojo.People" alias="peo"/></typeAliases> 2.2 mapper.xml 中 peo 引用 People 类<...原创 2019-05-15 08:00:09 · 130 阅读 · 0 评论 -
MyBatis 中使用log4j
1.在 mybatis 全局配置文件中通过标签<settings>控制 mybatis 全局开关2.在 mybatis.xml 中开启 log4j 2.1 必须保证有 log4j.jar 2.2 在 src 下有 log4j.properties<settings> <setting name="logImpl" value="...原创 2019-05-16 14:55:19 · 366 阅读 · 0 评论 -
MyBatis实现增删改以及事务管理
1.MyBatis实现新增数据 1. MyBaits在 mapper.xml 中提供<insert>标签,标签没有返回值类型\<insert id="ins" parameterType="People"> insert into people values(default,#{name},#{age})</insert> 2....原创 2019-05-16 20:07:49 · 1098 阅读 · 0 评论 -
MyBatis 接口绑定方案及多参数传递
1.作用: 实现创建一个接口后把mapper.xml由mybatis 生成接口的实现 类,通过调用接口对象就可以获取 mapper.xml 中编写的 sql.2.后面 mybatis 和 spring 整合时使用的是这个方案. 3.实现步骤: 3.1 创建一个接口 3.1.1 接口包名和接口名与 mapper.xml 中<maapper>...原创 2019-05-19 19:54:11 · 345 阅读 · 0 评论 -
MyBatis 动态SQL
1.概念根据不同的条件需要执行不同的 SQL 命令.称为动态 SQL2.应用MyBatis 中动态 SQL 在 mapper.xml 中添加逻辑判断等.3. If 使用<select id="selByAccinAccout" resultType="log"> select * from log where 1=1 <!-- OGNL 表...原创 2019-05-20 07:26:43 · 195 阅读 · 0 评论 -
MyBatis TreadLocal(线程容器)
1. 线程容器,给线程绑定一个 Object 内容,后只要线程不变,可以随时 取出. 1.1 改变线程,无法取出内容.(主要用于只产生一个session对象,让整个线程使用)2. 语法示例final ThreadLocal<String> threadLocal = new ThreadLocal<>();threadLocal.set("测试");...原创 2019-05-20 07:32:08 · 266 阅读 · 0 评论 -
MyBatis 缓存问题
1. 应用程序和数据库交互的过程是一个相对比较耗时的过程2. 缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行效率3. MyBatis 中默认 SqlSession 缓存开启 3.1 同一个 SqlSession 对象调用同一个<select>时,只有第一次访问数据库,第一次之后把查询结果缓存到 SqlSession 缓存区(内存)中 3.2 缓存...原创 2019-05-20 07:41:02 · 503 阅读 · 0 评论 -
MyBatis resultMap以及其应用(关联对象+多表查询)
1. <resultMap>标签写在mapper.xml中,由程序员控制SQL查询结果与 实体类的映射关系 (默认 MyBatis 使用 Auto Mapping 特性.)2.使用<resultMap>标签时,<select>标签不写 resultType 属性,而是使 用 resultMap 属性引用<resultMap>标签3. 使用 r...原创 2019-05-20 15:53:32 · 2580 阅读 · 1 评论 -
MyBatis 注解
1. 注解:为了简化配置文件.2. Mybatis 的注解简化 mapper.xml 文件. 2.1 如果涉及动态 SQL 依然使用 mapper.xml3. mapper.xml 和注解可以共存.4. 使用注解时 mybatis.xml 中<mappers>使用 4.1 <package> 4.2<mapper class=...原创 2019-05-20 16:02:00 · 372 阅读 · 0 评论 -
Spring环境搭建及IoC简介
一、Spring环境搭建1. 导入 jar 1.1 四个核心包一个日志包(commons-logging)2. 在 src 下新建 applicationContext.xml 2.1 文件名称和路径自定义. 2.2 记住 Spring 容器 ApplicationContext,applicationContext.xml 配 置的信息最终存储到了 A...原创 2019-07-16 18:36:32 · 117 阅读 · 0 评论 -
Spring创建对象的三种方式
1. 通过构造方法创建1.1 无参构造创建:默认情况. 1.2 有参构造创建:需要明确配置 1.2.1 需要在类中提供有参构造方法 1.2.2 在 applicationContext.xml 中设置调用哪个构造方法创建 对象 1.2.2.1 如果设定的条件匹配多个构造方法执行最后的构 造方法 1...原创 2019-07-16 19:02:45 · 220 阅读 · 0 评论 -
Spring如何给 Bean 的属性赋值(注入)
1.通过构造方法设置值. 2.设置注入(通过 set 方法) 2.1 如果属性是基本数据类型或 String 等简单<bean id="peo" class="com.bjsxt.pojo.People"> <property name="id" value="222"></property> <propert...原创 2019-07-16 19:17:15 · 1885 阅读 · 0 评论 -
Spring DI(依赖注入)
1. DI:中文名称:依赖注入 2. 英文名称((Dependency Injection) 3. DI 是什么? 3.1 DI 和 IoC 是一样的 3.2 当一个类(A)中需要依赖另一个类()对象时,把 B 赋值给 A 的过 程就叫做依赖注入.4. 代码体现:<bean id="peo" class="com.bjsxt.pojo.People"&...原创 2019-07-16 19:19:14 · 172 阅读 · 0 评论 -
Spring整合MyBatis
1. 导 入 mybatis 所 有 jar 和 spring 基 本 包,spring-jdbc,spring-tx,spring-aop,spring-web,spring 整合 mybatis(mybatis-spring) 的包 等2. 先配置 web.xml(为了在Web项目中生效)<?xml version="1.0" encoding="UTF-8"?>&...原创 2019-07-16 19:31:58 · 135 阅读 · 0 评论 -
Spring AOP(面向切面编程)概述
1.AOP:中文名称面向切面编程 2.英文名称:(Aspect Oriented Programming) 3.正常程序执行流程都是纵向执行流程 3.1 又叫面向切面编程,在原有纵向执行流程中添加横切面 3.2 不需要修改原有程序代码 3.2.1 高扩展性 3.2.2 原有功能相当于释放了部分逻辑.让职责更加明确.4.面...原创 2019-07-17 17:34:01 · 221 阅读 · 0 评论 -
Spring Schema-based方式实现前后置通知
1. 导入 jar其中aoplliance和aspectjweaver的jar包需要单独去下载。2. 新建通知类 2.1 新建前置通知类 2.1.1 arg0: 切点方法对象 Method 对象 2.1.2 arg1: 切点方法参数 2.1.3 arg2:切点在哪个对象中public class MyBeforeAd...原创 2019-07-17 17:53:18 · 151 阅读 · 0 评论 -
Spring Schema-based方式实现异常通知
1. 新建一个类实现 throwsAdvice 接口 1.1 必须自己写方法,且必须叫 afterThrowing 1.2 有两种参数方式 1.2.1 必须是 1 个或 4 个 1.3 异常类型要与切点报的异常类型一致public class MyThrow implements ThrowsAdvice{//四个参数 public vo...原创 2019-07-17 19:00:25 · 199 阅读 · 0 评论 -
Spring Schema-based 方式实现环绕通知
1. 把前置通知和后置通知都写到一个通知中,组成了环绕通知 2. 实现步骤 2.1 新建一个类实现 MethodInterceptorpublic class MyArround implements MethodInterceptor { @Override public Object invoke(MethodInvocation arg0) throws ...原创 2019-07-17 19:06:24 · 149 阅读 · 0 评论 -
Spring 通过AspectJ方式配置异常通知
1. 只有当切点报异常才能触发异常通知2. 在 spring 中有 AspectJ 方式提供了异常通知的办法. 2.1 如果希望通过 schema-base 实现需要按照特定的要求自己编写方法3. 实现步骤: 3.1 新建类,在类写任意名称的方法public class MyThrowAdvice{ public void myexception(Ex...原创 2019-07-17 19:25:43 · 240 阅读 · 0 评论 -
Spring 通过AspectJ方式实现前后置通知+异常通知+环绕通知
1. 新建类,不用实现任何接口 1.1 类中方法名任意public class MyAdvice { public void mybefore(String name1,int age1){ System.out.println("前置"+name1 ); } public void mybefore1(String name1){ ...原创 2019-07-17 19:49:07 · 198 阅读 · 0 评论 -
Spring 基于AspectJ使用注解配置AOP
1. spring 不会自动去寻找注解,必须告诉 spring 哪些包下的类中可能 有注解 1.1 引入 xmlns:context<context:component-scan base-package="com.bjsxt.advice"></context:component-scan>2. @Component 2.1 相当于<...原创 2019-07-17 20:09:25 · 104 阅读 · 0 评论 -
Spring整合MyBatis使用别名以及cglib闲谈
一、别名的使用<bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <!--使用别名--> <proper...原创 2019-07-17 20:30:54 · 919 阅读 · 0 评论 -
Spring 自动注入
1.在 Spring 配置文件中(使用注解时无效)对象名和 ref=”id”id 名相同使用自动注入,可以 不配置<property/>2.两种配置办法 2.1 在<bean>中通过 autowire=”” 配置,只对这个<bean>生效 2.2 在中<beans>(根目录)中通过 default-autowire=””配置,...原创 2019-07-18 16:18:49 · 223 阅读 · 0 评论 -
Spring scope属性
1.<bean/>的属性2. 作用:控制对象有效范围(单例,多例等) 3. <bean/>标签对应的对象默认是单例的. 3.1 无论获取多少次,都是同一个对象4. scope 可取值 4.1 singleton :默认值,单例 4.2 prototype :多例,每次获取重新实例化 4.3 request :每次请求重新实...原创 2019-07-18 16:45:06 · 133 阅读 · 0 评论 -
Srping 加载properties文件
1. 在 src 下新建 xxx.properties 文件jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmjdbc.password=smallmingjdbc.username = root2. 在 spring 配置文件中先引入 xmlns:context,在下面添加 ...转载 2019-07-18 16:50:54 · 126 阅读 · 0 评论 -
Spring 声明式事务
1.编程式事务: 1.1 由程序员编程事务控制代码. 1.2 OpenSessionInView 编程式事务2.声明式事务: 2.1 事务控制代码已经由 spring 写好.程序员只需要声明出哪些方 法需要进行事务控制和如何进行事务控制.3.声明式事务都是针对于 ServiceImpl 类下方法的. 4.事务管理器基于通知(advice)的. 5.在...原创 2019-07-18 17:13:46 · 109 阅读 · 0 评论 -
Spring 常用注解
1. @Component 创建类对象,相当于配置<bean/>2. @Service 与@Component 功能相同. 2.1 写在 ServiceImpl 类上.3. @Repository 与@Component 功能相同. 3.1 写在数据访问层类上.4. @Controller 与@Component 功能相同. 4.1 写在控制...原创 2019-07-18 17:20:19 · 124 阅读 · 0 评论 -
SpringMVC 简介
1.SpringMVC 中重要组件 1.1 DispatcherServlet : 前端控制器,接收所有请求(如果配置/不包 含 jsp) 1.2 HandlerMapping: 解析请求格式的.判断希望要执行哪个具体的方法. 1.3 HandlerAdapter: 负责调用具体的方法. 1.4 ViewResovler:视图解析器.解析结果,准备跳转到具体...原创 2019-07-19 20:02:33 · 101 阅读 · 0 评论 -
SpringMVC 环境搭建以及静态资源放行
1. 导入 jar2. 在 web.xml 中配置前端控制器 DispatcherServlet 2.1 如果不配置<init-param>,它会找/WEB-INF/<servlet-name>-servlet.xml<servlet> <servlet-name>jqk</servlet-name> ...原创 2019-07-19 20:25:06 · 126 阅读 · 0 评论 -
SpringMVC 字符编码过滤器
在 web.xml 中配置 Filter<!-- 字符编码过滤器 --><filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil...原创 2019-07-19 20:28:58 · 143 阅读 · 0 评论 -
SpringMVC 传参
1. 把内容写到方法(HandlerMethod)参数中,SpringMVC 只要有这个内容,就会注入内容.2. 基本数据类型参数 2.1 默认保证参数名称和请求中传递的参数名相同@Controllerpublic class DemoController { @RequestMapping("demo") public String demo(String ...原创 2019-07-19 20:59:14 · 230 阅读 · 0 评论 -
SpringMVC 跳转方式
1. 默认跳转方式请求转发.2. 设置返回值字符串内容 2.1 添加 redirect:资源路径 重定向@RequestMapping("demo") public String demo(String name,int age){ System.out.println("执行 demo"+" "+name+" "+age); retur...原创 2019-07-19 21:02:38 · 165 阅读 · 0 评论