- 博客(257)
- 资源 (4)
- 收藏
- 关注
原创 JDBC08-PreparedStatement实现批量插入数据操作
语句在被DBServer的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中就会得到执行。在statement语句中,即使是相同操作但因为数据内容不一样,所以整个语句本身不能匹配,没有缓存语句的意义.事实是没有数据库会对普通语句编译后的执行代码缓存。mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支持。PreparedStatement 可以防止 SQL 注入。每执行一次都要对传入的语句编译一次。
2023-12-07 16:12:04
729
原创 JDBC06-PerparedStatement针对不同表的通用查询操作
【代码】JDBC06-PerparedStatement针对不同表的通用查询操作。
2023-12-07 16:08:45
462
原创 JDBC03-PreparedStatement实现表数据的添加操作
【代码】JDBC03-PreparedStatement实现表数据的添加操作。
2023-12-07 16:06:43
427
原创 SpringMVC14-SpringMVC执行流程
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTgmvw52-1658305088919)(C\Users\LiuJiaduo\Desktop\尚硅谷\尚硅谷SpringMVC\笔记\img\img008.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLRkt8TU-1658305088920)(C\Users\LiuJiaduo\Desktop\尚硅谷\尚硅谷SpringMVC\笔记\img\img009.png)]...
2022-07-20 16:20:20
199
1
原创 SpringMVC12-异常处理器
HandlerExceptionResolver接口的实现类有DefaultHandlerExceptionResolver和SimpleMappingExceptionResolver。SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口HandlerExceptionResolver。
2022-07-20 16:17:26
181
原创 SpringMVC11-拦截器
preHandle()返回false和它之前的拦截器的preHandle()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterComplation()会执行。preHandle控制器方法执行之前执行preHandle(),其boolean类型的返回值表示是否拦截或放行,返回true为放行,即调用控制器方法;preHandle()会按照配置的顺序执行,而postHandle()和afterComplation()会按照配置的反序执行。...
2022-07-20 16:16:31
185
原创 SpringMVC10-文件上传和下载
文件上传要求form表单的请求方式必须为post,并且添加属性enctype=“multipart/form-data”SpringMVC中将上传的文件封装到MultipartFile对象中,通过此对象可以获取文件相关信息。使用ResponseEntity实现下载文件的功能。...
2022-07-20 16:15:26
158
原创 SpringMVC09-HttpMessageConverter
HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文HttpMessageConverter提供了两个注解和两个类型。
2022-07-20 16:14:55
162
原创 SpringMVC06-SpringMVC的视图
SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图当工程引入jstl的依赖,转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView。...
2022-07-20 16:13:03
178
原创 SpringMVC05-域对象共享数据
原始情况下,保存作用域我们可以认为有四个page(页面级别,现在几乎不用),request(一次请求响应范围),session(一次会话范围),application(整个应用程序范围,服务器启动时创建,关闭时销毁)因为使用的对象是同一个,所以能实现共享数据。...
2022-07-20 16:08:52
156
原创 SpringMVC04-SpringMVC获取请求参数
在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到请求映射时,在DispatcherServlet中就会将请求参数赋值给相应的形参。可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实体类中的属性名一致,那么请求参数就会为此属性赋值。若请求所传输的请求参数中有多个同名的请求参数,此时可以在控制器方法的形参中设置字符串数组或者字符串类型的形参接收此请求参数。value指定为形参赋值的请求参数的参数名。...
2022-07-20 16:08:04
189
原创 SpringMVC03-@RequestMapping注解
从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。@RequestMapping标识一个类:设置映射请求的请求路径的初始信息@RequestMapping标识一个方法:设置映射请求请求路径的具体信息三、@RequestMapping注解的value属性@RequestMapping注解的value属性通过请求的请求地址匹配请求映射@Reque
2022-07-20 16:06:40
183
原创 SpringMVC02-HelloWorld
IDE:idea 2019.2构建工具:maven3.5.4服务器:tomcat7Spring版本:5.3.1注:由于 Maven 的传递性,我们不必将所有需要的包全部配置依赖,而是配置最顶端的依赖,其他靠传递性导入。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xTtUi0e-1657696769474)(C:\Users\LiuJiaduo\Desktop\尚硅谷\尚硅谷SpringMVC\笔记\img\img001.png)]注册SpringMVC的前端控制器Dis
2022-07-13 15:20:28
202
原创 SpringMVC01- SpringMVC简介
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器MVC的工作流程:用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller
2022-07-13 15:19:22
205
原创 Spring5框架06-Spring5框架新功能
(1)Spring5已经移除Log4jConfigListener,官方建议使用Log4j2(2)Spring5框架整合Log4j2第一步 引入jar包第二步 创建log4j2.xml配置文件3、Spring5框架核心容器支持@Nullable注解(1)@Nullable注解可以使用在方法上面,属性上面,参数上面,表示方法返回可以为空,属性值可以为空,参数值可以为空(2)注解用在方法上面,方法返回值可以为空(3)注解使用在方法参数里面,方法参数可以为空(4)注解使用在属性上面,属性值可以为空5、Spr
2022-07-13 15:18:16
143
原创 Spring5框架05-事务操作
(1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败(2)典型场景:银行转账(1)原子性(2)一致性(3)隔离性(4)持久性(1)service注入dao,在dao注入JdbcTemplate,在JdbcTemplate注入DataSource3、在dao创建两个方法:多钱和少钱的方法,在service创建方法(转账的方法)4、上面代码,如果正常执行没有问题的,但是如果代码执行过程中出现异常,有问题(1)上面问题如何解决呢?(2)事务操作过程三、Spri
2022-07-13 15:16:28
200
原创 Spring5框架04-JdbcTemplate
1、什么是JdbcTemplate(1)Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作2、准备工作(1)引入相关jar包(2)在spring配置文件配置数据库连接池(3)配置JdbcTemplate对象,注入DataSource(4)创建service类,创建dao类,在dao注入jdbcTemplate对象二、操作数据库(添加)1、对应数据库创建实体类2、编写service和dao(1)在dao进行数据库添加操作(2)调用JdbcTemplate对象
2022-07-13 15:14:33
141
原创 Spring5框架03-AOP
1、什么是AOP(1)面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能(3)使用登录例子说明AOP1、AOP底层使用动态代理(1)有两种情况动态代理第一种 有接口情况,使用JDK动态代理创建接口实现类代理对象,增强类的方法第二种 没有接口情况,使用CGLIB动态代理创建子类的代理对象,增强类的方法1、使用JDK动态代理,使用Proxy类里面的方法创
2022-07-13 15:12:46
110
原创 Spring5框架02-IOC容器
1、什么是IOC(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理(2)使用IOC目的:为了耦合度降低(3)做入门案例就是IOC实现2、IOC底层原理(1)xml解析、工厂模式、反射3、画图讲解IOC底层原理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfvzNQhD-1657696139646)(C:\Users\LiuJiaduo\AppData\Roaming\Typora\typora-user-images\image-2022052517
2022-07-13 15:10:49
191
原创 MyBatis12-分页插件
b>配置分页插件在MyBatis的核心配置文件中配置插件二、分页插件的使用a>在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能b>在查询获取list集合之后,使用PageInfo pageInfo = new PageInfo(List list, int navigatePages)获取分页相关数据c>分页相关数据...
2022-07-13 15:07:19
399
原创 MyBatis11-MyBatis的逆向工程
b>创建MyBatis的核心配置文件c>创建逆向工程的配置文件文件名必须是:generatorConfig.xmld>执行MBG插件的generate目标[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6k47oMWk-1657695940911)(C:\Users\LiuJiaduo\AppData\Roaming\Typora\typora-user-images\image-20220623161649444.png)]效果:[外链图片转存失败,源站可能有防盗链
2022-07-13 15:06:47
294
原创 MyBatis10-MyBatis的缓存
一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问使一级缓存失效的四种情况:二、MyBatis的二级缓存二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询的结果会被缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取二级缓存开启的条件:a>在核心配置文件中,设置全局配置属性cacheEnabled=“true”,默认为tru
2022-07-13 15:05:30
77
原创 MyBatis09-动态SQL
if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中的内容不会执行二、where当where标签中有内容时,会自动生成where关键字,并且将内容前多余的and或or去掉当where标签中没有内容时,此时where标签没有任何效果注意:where标签不能将其中内容后面多余的and或or去掉三、trim若标签中有内容时:prefix|suffix:将trim标签中内容前面或后面添加指定内容suffixOverrides|prefixOverri
2022-07-13 15:04:59
87
原创 MyBatis08-自定义映射resultMap
若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射若字段名和实体类中的属性名不一致,但是字段名符合数据库的规则(使用_),实体类中的属性名符合Java的规则(使用驼峰)此时也可通过以下两种方式处理字段名和实体类中的属性的映射关系a>可以通过为字段起别名的方式,保证和实体类中的属性名保持一致b>可以在MyBatis的核心配置文件中设置一个全局配置信息mapUnderscoreToCamelCase,可以在查询表中数据时,自动将_类型的字段名转换为驼峰例如:字段名user_name,
2022-07-13 15:04:26
215
原创 MyBatis05-MyBatis获取参数值的两种方式(重点)
${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号若mapper接口中的方法参数为单个的字面量类型此时可以使用KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#̲{}以任意的名称获取参数的值,…{}需要手动加单引号二、多个字面量
2022-07-13 15:01:20
132
原创 Mybatis04-MyBatis的增删改查
1、映射文件的namespace要和mapper接口的全类名保持一致2、映射文件中SQL语句的id要和mapper接口中的方法名一致表–实体类–mapper接口–映射文件二、删除三、修改四、查询一个实体类对象五、查询集合注意:1、查询的标签select必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系resultType:自动映射,用于属性名和表中字段名一致的情况resultMap:自定义映射,用于一对多或多对一或字段名和属性名不一致的情况2、当查询的
2022-07-13 15:00:52
123
原创 Mybatis03-核心配置文件详解
properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?
2022-07-13 14:59:56
118
原创 Mybatis02-搭建MyBatis
IDE:idea 2019.2构建工具:maven 3.5.4MySQL版本:MySQL 5.7MyBatis版本:MyBatis 3.5.7在pom.xml文件内加入以下内容三、创建MyBatis的核心配置文件习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。将来整合Spring之后,这个配置文件可以省略,所以大家操作时可以直接复制、粘贴。核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息核心配置文件存放的位置是src/main/resour
2022-07-13 14:59:25
149
原创 Mybatis01-MyBatis简介
MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架包括SQL Maps和Data AccessObjects(DAO)。1) My
2022-07-13 14:57:52
132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人