自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot(10)—— 自定义Starter(重要!!!)

自定义Starter(重要!!!)自定义Starter项目–>自定义Starter–>自定义Starter-autoconfigurer1. 创建自定义Starter-autoconfigurer项目(自动配置模块)pom.xml:引入spring-boot-starter所有starter的基本配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactI

2020-06-19 20:39:38 229

原创 SpringBoot(9)—— 整合MyBatis和SpringData JPA

整合MyBatis和SpringData JPA一、整合MyBatis步骤1. 配置数据源相关属性2. 数据库建表department表:id department_Nameemployee表:id lastName gender d_id3. 创建JavaBean对象Department:加上get,set方法public class Department { private Integer id; private String departmentName;}

2020-06-19 20:18:35 626

原创 SpringBoot(8)—— 数据访问(数据库相关)

数据访问(数据库相关)一、JDBC1. SpringBoot默认使用JDBC作为数据源2. 通过加载建表SQL语句来建表deartment.sql:建表语句SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for department-- ----------------------------DROP TABLE IF EXISTS `department`;CREATE TABLE

2020-06-19 19:33:27 237

原创 SpringBoot(7)—— 使用外置的Servlet容器

使用外置的Servlet容器步骤:1. 创建一个war项目2. 将嵌入式的Tomcat指定为provided <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope>3. 创建一个ServletInitializer类 ext

2020-06-17 21:34:39 161

原创 SpringBoot(6)—— 配置嵌入式Servlet容器

配置嵌入式Servlet容器一、定制和修改Servlet容器的相关配置1. 修改和server相关的配置:直接在主配置文件中设置server.xxx:通用的Servlet容器设置server.tomcat.xxx:Tomcat的设置2. 定制嵌入式Servlet容器,来修改Servlet配置:编写一个嵌入式的Servlet容器WebServerFactoryCustomizer<ConfigurableServletWebServerFactory>,并且要加入到容器中@Bean具

2020-06-17 21:25:45 217

原创 SpringBoot(5)—— 错误处理机制

错误处理机制一. SpringBoot默认的错误处理机制1. 浏览器:返回一个默认的404错误页面2. 其他客户端(Postman):响应一个默认的json数据3. 原理:参见ErrorMvcAutoConfiguration类二. 定制错误的页面1. SpringBoot对于错误页面的加载步骤:(1)如果有模板引擎,请求是根据 error/状态码,只需将错误页面命名为 错误状态码.html,放在模板引擎文件夹template/error文件夹内即可(2)也可以使用4xx和5xx作为错误

2020-06-17 21:05:59 505

原创 SpringBoot(4)—— Web开发的CRUD

Web开发(CRUD)一、实验要求1. 使用Rest风格:URI+请求方式实验功能请求URI请求方式查询所有员工empsGET查询员工(来到修改页面)emp/{id}GET来到添加页面empGET添加员工empPOST来到修改页面(查出员工信息进行回写)emp/{id}GET修改员工empPUT删除员工emp/{id}DELETE2. 实体类和Dao:/entities/Employee:员工类 priv

2020-06-17 20:07:26 272

原创 SpringBoot(3)—— Web开发(登录界面和国际化)

Web开发(登录界面和国际化)一、默认访问首页方法一:在Controller里加一个方法,默认是去templates下找index.html的文件HelloController:@Controllerpublic class HelloController { @RequestMapping({"/", "/login.html"}) public String index(){ return "index"; }}方法二:(推荐!!!

2020-06-16 22:04:54 343

原创 SpringBoot(2)—— Web开发(SpringMVC部分)

Web开发(SpringMVC部分)一、SpringBoot对静态资源的映射规则(存放位置)1. /werbjars/**:静态资源由于引入了jquery-webjar,因此所有的/werbjars/**的静态资源都去classpath:/META-INF/resources/webjars/下找。2. /**:当前项目的静态资源都去静态资源文件夹下找 (1) classpath:/META-INF/resources/ (2) classpath:/resources/ (3) clas

2020-06-16 20:46:04 170

原创 SpringBoot(1)

SpringBoot(1)一、入门程序使用Spring Initializer快速创建SpringBoot项目注意:因为是Web开发,所以在这里要勾选Web/Spring Web,右上角SpringBoot选择不带SNAPSHOT的版本创建完后,主程序和一些文件夹都会默认创建好。reources文件夹目录结构:(1)static:保存静态资源,如js,css,images(2)templates:保存模板页面(SpringBoot使用的是嵌入式的Tomcat,默认不支持jsp页面)——

2020-06-13 17:45:59 185

原创 SpringMVC(7)

SpringMVC(7)SSM整合流程:思路:XML+注解的方式(1)先搭建整合的环境(2)将Spring配置搭建完成(业务层Service)(3)搭建SpringMVC配置,并使用Spring整合SpringMVC(表现层Web Conreoller)(4)搭建MyBatis配置,并使用Spring整合MyBatis(持久层Dao)具体代码:1. 创建数据库:create database ssm;use ssm;create table account( id int pr

2020-06-11 22:08:24 205

原创 SpringMVC(6)

SpringMVC(6)SpringMVC的拦截器流程:结合流程图和后台打印结果看后台打印结果: preHandle执行了。。。1111 preHandle执行了。。。2222 testInterceptor执行了... postHandle执行了。。。2222 postHandle执行了。。。1111 success.jsp执行了... afterCompletion执行了。。。2222 afterCompletion执行了。。。1111步骤:(1)编写拦截器类,实现Han

2020-06-11 20:48:11 162

原创 SpringMVC(5)

SpringMVC(5)SpringMVC的异常处理异常处理流程:dao ==> service ==> web ==> 前端控制器 ==> 页面如果不处理异常,那么直接会将异常抛到页面上解决方法:在前端控制器中配置异常处理器,进行异常处理(1)编写自定义异常类,做提示信息的(2)编写异常处理器(3)配置异常处理器,用于跳转异常页面具体代码:index.jsp首页:<a href="user/testException">testExceptio

2020-06-11 20:18:08 132

原创 SpringMVC(4)

SpringMVC(4)SpringMVC实现文件上传一、传统方式的文件上传在pom.xml中引入commons-fileupload和commons-iojar包: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1&lt

2020-06-11 20:03:46 121

原创 SpringMVC(3)

SpringMVC(3)响应数据和结果视图一、返回值类型分类1. 返回字符串:当方法生效,返回"success",就会在WEB-INF/pages下找到对应的success.jsp,从而跳转到该页面可以将从数据库查询到的对象存储到Request域对象中,那么success页面可以根据域对象中的值获得user对象,进而直接在页面输出user对象的属性。具体代码:response.jsp页面:<a href="user/testString">testString</a&

2020-06-11 16:32:09 182

原创 SpringMVC(2)

SpringMVC(1)常用注解一、@RequestMapping作用:建立请求URL和处理方法之间的对应关系可以作用在类/方法上(1)作用在类上:一级访问目录(2)作用在方法上:二级访问目录属性:(1)value/path:指定请求的URL,当只有一个属性时,可以不写(2)method:指定方法的请求方式 get,post,put,。。。使用方法:method = {RequestMethod.POST, ...}在浏览器中点击超链接,是GET方法(3)params:限

2020-06-11 15:29:58 114

原创 SpringMVC(1)

SpringMVC(1)一、三层架构表现层:Web层,用于和客户端进行数据交互,采用MVC设计模型,Controller(SpringMVC)业务层:处理业务逻辑,Service(Spring)持久层:操作数据库,Dao(MyBatis)二、入门案例步骤:在pom.xml中引入jar包在webapp/WEB-INF/web.xml中配置核心控制器DispatcherServlet在src/main/resources下创建SpringMVC.xml配置文件在webapp下创建首页页面

2020-06-10 21:26:19 184

原创 LeetCode热题Hot(3)

LeetCode热题Hot (3)无重复字符的最长子串:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度思路:找以每个字符开头的最长无重复子串,那么答案一定在其中用start遍历每一个字符,找以start位置开头的最长无重复子串在每次遍历中,用end往后遍历,直到set中出现了重复字符时停止此时,start - end(不包括end) 就是以start位置开头的最长无重复子串可以保证start+1 - end 是一定不会重复的,所以可以继续从end往后找将start

2020-06-07 18:15:53 137

原创 LeetCode热题Hot(2)

LeetCode热题Hot (2)两数以链表的形式相加:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和例如: 输入:(2 -> 4 -> 3) + (5 -> 6) 输出:7 -> 0 -> 4 原因:342 + 65 = 407思路:模拟加法的过程,用一个全局变量carry保存之前一次

2020-06-07 18:13:56 115

原创 LeetCode热题Hot(1)

LeetCode热题Hot (1)两数之和:给定一个整数数组 arr 和一个目标值 target请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。思路:一开始考虑的是双指针(参考剑指Offer 42),但是要注意:数组是无序的,如果移动指针,不能确定是要加上还是减去这个值剑指Offer 42:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S所以可以借鉴 累加和等于num的最长子数组,可正可负可0 的思路将求和问题转换成剩余需要的数的问

2020-06-07 18:10:09 165

原创 MyBatis总结(4)

MyBatis(4)一、DynamicSQL 动态SQL

2020-06-03 11:09:37 168

原创 MyBatis(5)

一、一级缓存(本地缓存)1. 与数据库同一次会话期间,查询到的数据会放在本地缓存中2. 以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库3. sqlSession级别的缓存,一直开启的 —— 实际上就是sqlSession级别的一个Map一级缓存失效情况(发送多个sql语句):1. sqlSession不同2. sqlSession相同,查询条件不同(当前一级缓存中没有这个数据)3. sqlSession相同,两次查询之间执行了增删改操作(这次增删改操作可能对当前数据有影响)

2020-06-02 22:02:41 159

原创 MyBatis参数处理

一、单个参数:mybatis不会做特殊处理 —— 参数名可以定义任意名称#{参数名}:取出参数二、多个参数:mybatis会做特殊处理当我们设置成:(1)方法:public Employee getEmpByIdAndLastName(Integer id, String lastName);(2)sql语句:where id=#{id} and last_name=#{lastName}会报错异常:org.apache.ibatis.binding.BindingException: Par

2020-06-02 21:42:30 231

原创 MyBatis总结(3)

MyBatis(3)一、 ResultMap:自定义结果映射规则在xml映射文件中,除了可以使用resultType定义返回值类型外,还可以使用resultMap自定义结果集映射规则EmployeeMapper接口接口 public Employee getEmpById(Integer id);xml映射文件 <select id="getEmpById" resultMap="MyEmp"> select * from mybatis.tbl_employee

2020-06-02 21:22:21 117

原创 MyBatis总结(2)

MyBatis(2)一、

2020-06-01 22:02:31 201

原创 MyBatis总结(1)

MyBatis(1)一、MyBatis获取数据表的步骤:配置xml全局配置文件mybatis-config.xml存储数据库连接的4个基本信息和一些基本设置,以及 mapper注册信息配置sql映射文件EmployeeMapper.xml配置了每一个sql语句和sql的映射信息:唯一标识id,返回值类型resultType/resultMap将sql映射文件EmployeeMapper.xml注册到全局配置文件mybatis-config.xml中主函数逻辑(1)根据全局配置文件,创建

2020-06-01 20:43:35 301

原创 Spring Boot常见报错总结

Spring Boot常见报错Spring Boot常见报错总结Spring Boot常见报错总结

2020-06-01 14:54:21 489

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除