JavaWeb个人学习01

1:@RequestParam(defaultValue = "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值

2: slf4j  对应的是日志的输出
log.info("参数是 {}", detail);

3: 分页插件 PageHelper 用法:
准备工作: 引入依赖

        3.1: 设置分页参数: PageHelper.startPage(page, pageSize);
        3.2: 执行查询 
        
        3.3: 封装PageBean对象

4: @DateTimeFormat(pattern = "yyyy-MM-dd") 指定前端传进来的日期的格式

5: 操作数据库 xml配置文件 要与接口名字同包 同名
基本的代码模板:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">

具体的代码演示:
注意:比如查询语句 <select>里面的id 要与接口查询的方法名保持一致 resultType要与返回的数据类型保持一致 但是xml里面写的是全类名 比如: com.findyou.mapper.EmpMapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.mapper.EmpMapper"><!-- 定义查询所有员工的SQL语句 --><select id="selectAllEmployees" resultType="com.example.model.Employee">SELECT * FROM employee;</select><!-- 定义根据员工ID查询员工信息的SQL语句 --><select id="selectEmployeeById" parameterType="int" resultType="com.example.model.Employee">SELECT * FROM employee WHERE id = #{id};</select><!-- 定义插入员工信息的SQL语句 --><insert id="insertEmployee" parameterType="com.example.model.Employee">INSERT INTO employee (name, age, department)VALUES (#{name}, #{age}, #{department});</insert><!-- 定义更新员工信息的SQL语句 --><update id="updateEmployee" parameterType="com.example.model.Employee">UPDATE employeeSET name = #{name}, age = #{age}, department = #{department}WHERE id = #{id};</update><!-- 定义根据员工ID删除员工信息的SQL语句 --><delete id="deleteEmployee" parameterType="int">DELETE FROM employeeWHERE id = #{id};</delete></mapper>

动态的写法是:
模糊匹配 查询包含name的

<if test = "name != null">
name like concat ('%', #{name}, '%') 
</if>

6: 批量删除员工:

delete from emp where id in (1, 2, 3);

7:路径参数的接收: 在参数的前面加上 @PathVariable 表示的就是接收路径参数
比如:  localhost:8080/emps/15,16,17 用的是delete的形式

 8: 动态删除员工 <foreach>标签
collection: 要遍历的集合
item: 遍历出来的每一个元素
separator: 你这个集合里面每个元素的分隔符
open: 遍历之前拼接的是什么
close: 遍历之后拼接的是什么
代码演示:

<delete id = "delete"deletefrom empwhere id in<foreach collection="ids" item="id" separator="," open="{" close="}">#{id}</foreach>
</delete>

 9:使用了@RequestBody注解,这样Spring会将请求的body部分转换成参数对象,并注入到参数中供方法使用

10:参数配置化:
application.properties里面写配置信息 比如: aliyun.oss.endpoint=https://oss-cn-hangzhou.aliyuncs.com
然后创建一个实体类 在类里面 定义相关的信息(属性) 注意需要在这个类的上面加上@Component的注解 目的是:通过在类上添加"@Component"注解,Spring框架会自动扫描并识别这个类,将其实例化为一个Bean,并加入到Spring应用上下文中管理。
然后通过@Value注解把之前配置的属性注入 具体的用法为: @Value("${配置文件中的key}")

 11: yml(yaml)配置文件:
在 .properties文件中 servert.port=8080 servert.address=127.0.0.1 但是在yaml文件里面的格式(注意缩进的格式)  #表示的是注释  注意 : 要和value之间 要加个空格

定义数组/List/Set:

hobby:- java- C- game- sport

12:配置格式的对比:

13: @ConfiguratonProperties 会自动把配置文件里面的对应的key和你加这个注解的类里面的属性等于相同的value值  在使用 @ConfigurationProperties 注解时,需要指定一个前缀(prefix),这个前缀会与配置文件中的属性名进行匹配,然后将对应的属性值注入到被注解的类的实例中。 但是前提是类里面的属性值要和配置文件里面的key要保持一致 前提还要把这个类交给ioc容器管理 也就是在这个类的前面加上@Component, 同时提供get和set方法 直接在类的前面加上@Data注解就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2813305.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

mybatis 集成neo4j功能实现

文章目录 前言一、引入jar包依赖二、配置 application.properties三、Mybatis Neo4j分页插件四、Mybatis Neo4j自定义转换器handler五、MybatisNeo4j代码示例总结 前言 MyBatis是一个基于Java语言的持久层框架&#xff0c;它通过XML描述符或注解将对象与存储过程或SQL语句进行…

微信自动回复消息如何设置?演示如下

自动回复 当下&#xff0c;微信已经成为在工作中必不可少的沟通工具。但微信并没有自动回复的功能&#xff0c;一旦咨询量非常大&#xff0c;往往会出现回复不及时的情况。这样不仅会影响客户满意度&#xff0c;降低客户转化率&#xff0c;甚至会导致客户流失。 那如何实现自动…

Springboot教程(二)——过滤器、拦截器

过滤器 过滤器可以在调用控制器方法之前进行一些操作&#xff0c;过滤器类一般放在filter包下。 配置类注册 使用过滤器时&#xff0c;要实现Filter接口&#xff0c;并重写doFilter方法&#xff1a; class TestFilter : Filter {override fun doFilter(request: ServletReq…

怎么消除照片上的路人?分享几个无痕消除工具

穿梭于繁忙的街头&#xff0c;我们总会在不经意间捕捉到那些精彩的瞬间&#xff0c;但往往也会因为一些无关的路人破坏了整个画面的和谐。在摄影后期处理中&#xff0c;消除照片中的路人是一项常见的需求。现在&#xff0c;让我们一起探索如何巧妙地消除照片中的路人&#xff0…

Elasticsearch使用function_score查询酒店和排序

需求 基于用户地理位置&#xff0c;对酒店做简单的排序&#xff0c;非个性化的推荐。酒店评分包含以下&#xff1a; 酒店类型&#xff08;依赖用户历史订单数据&#xff09;&#xff1a;希望匹配出更加符合用户使用的酒店类型酒店评分&#xff1a;评分高的酒店用户体验感好ge…

2024河北国际光伏展

2024河北国际光伏展是一个专门展示和促进光伏技术与产业发展的国际性展览会。该展览会将于2024年在中国河北省举办&#xff0c;吸引来自世界各地的光伏企业、专家、学者和投资者参加。 展览会将展示最新的光伏技术和产品&#xff0c;包括太阳能电池板、光伏组件、逆变器、储能系…

洛谷 P2678 [NOIP2015 提高组] 跳石头(二分答案)

前提知识&#xff1a; 二分法往下其实有一些小分支&#xff0c;最常见的是二分查找&#xff0c;然后就是二分答案&#xff0c;浮点数二分等等 主要谈谈二分查找和二分答案的具体区别&#xff0c;我们不能光报个菜名随口就来&#xff0c;一问具体也说不出来个所以然。 前提&a…

GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)

最终效果 简介 GB28181协议是视频监控领域的国家标准。该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令层面使用的是SIP(Session Initiatio…

物联网手持终端机 超高频RFID手持终端工业级盘点PDA设备

在数字化时代&#xff0c;物联网手持终端机已经成为各行业不可或缺的工具。联强优创自主研发远距离手柄式超高频RFID读写手持终端&#xff0c;搭载高性能UHF读写模块&#xff0c;距离可达1-15米&#xff0c;基于IMPINJ E710芯片超高频模块与设备完美兼容&#xff0c;支持协议标…

图论基础(一)

一、图论 图论是数学的一个分支&#xff0c;它以图为研究对象。图论中的图是若干给定的点&#xff08;顶点&#xff09;以及连接两点的线&#xff08;边&#xff09;构成的图像&#xff0c;这种图形通常用来描述某些事物之间的某种特定关系&#xff0c;用点代表事物&#xff0c…

3.机器学习-十大算法之一线性回归算法(LinearRegression)原理讲解

3️⃣.机器学习-十大算法之一线性回归算法&#xff08;LinearRegression&#xff09;原理讲解 个人简介理解算法线性回归的一般模型 什么是线性&#xff1f;什么是非线性&#xff1f;什么是回归分析&#xff1f;损失函数算法优缺点优点缺点&#xff1a; 示例数学公式误差概率密…

Linux 内存管理概述(偏实战,略理论,附链接)

基础理论 1. 内存映射 可以参考&#xff1a; Linux内存映射 - 知乎 写的很详细&#xff0c;而且也有代码分析 2. 虚拟内存的空间分布 通过这张图你可以看到&#xff0c;用户空间内存&#xff0c;从低到高分别是五种不同的内存段。只读段&#xff0c;包括代码和常量等。数据段…

试用北大库博Cobot-SCA工具

最近试用北大软件工具的库博-SCA工具&#xff0c;其产品全称是库博软件成分分析与同源漏洞检测工具软件。这个产品名称有点长&#xff0c;至于原因&#xff0c;可能是为了与市场上其它SCA工具进行区分吧。北大库博SCA不是像大多数SCA工具&#xff0c;解析构建文件中的依赖组件进…

亿道丨三防平板丨手持平板丨加固平板丨助力地震救援

自土耳其发生7.8级大地震以来&#xff0c;一直都牵动着世人的心。2023年2月10日&#xff0c;据法新社最新消息&#xff0c;强震已造成土耳其和叙利亚两国超2万人遇难。报道称&#xff0c;相关官员和医护人员表示&#xff0c;地震造成土耳其17674人死亡&#xff0c;叙利亚则有33…

Linux--查看网络性能指标

一、性能指标有哪些&#xff1f; 带宽&#xff0c;表示链路的最大传输速率&#xff0c;单位是 b/s &#xff08;比特 / 秒&#xff09;&#xff0c;带宽越大&#xff0c;其传输能力就越强。延时&#xff0c;表示请求数据包发送后&#xff0c;收到对端响应&#xff0c;所需要的…

跟着cherno手搓游戏引擎【25】封装2DRenderer,封装shader传参,自定义Texture

封装2DRenderer&#xff1a; Renderer.h: #include"ytpch.h" #include"Renderer.h" #include <Platform/OpenGL/OpenGLShader.h> #include"Renderer2D.h" namespace YOTO {Renderer::SceneData* Renderer::m_SceneData new Renderer::S…

在IDEA中创建vue hello-world项目

工作中最近在接触vue前端项目&#xff0c;记录一下从0搭建一个vue hello world项目的步骤 1、本地电脑安装配置node、npm D:\Project\vue\hello-world>node -v v14.21.3 D:\Project\vue\hello-world>npm -v 6.14.18 D:\Project\vue\hello-world> 2、设置npm国内淘…

C语言指针总结2

前言 本篇博客紧接着指针总结1来总结下数组和指针的关系&#xff0c;让我们一起来看一下数组与指针的“爱恨情仇”。 欢迎关注个人主页&#xff1a;小张同学zkf 若有问题&#xff0c;评论区见 文章目录 1. 数组名的理解2. 使用指针访问数组3. 一维数组传参的本质4. 冒泡排序5.…

Layer1 明星项目 Partisia Blockchain 何以打造互操作、可创新的数字经济网络

我们的目标是创建一个以用户为中心的全新数字经济网络&#xff1a;在去信任化和公平透明的环境下&#xff0c;所有的隐私数据都能够得到天然保障&#xff0c;企业、用户等各角色的协作与共享将会更顺利地进行。 —— Partisia Blockchain 团队 作为一个以 Web3 安全为技术方向的…

数字化转型与制造企业绿色创新质量——基于供需双侧机制的再检验(2011-2022年)

参照马红&#xff08;2023&#xff09;的做法&#xff0c;本团队对来自软科学《数字化转型与制造企业绿色创新质量—基于供需双侧机制的再检验》一文中的基准回归部分进行复刻 一、数据介绍 数据名称&#xff1a;数字化转型与制造企业绿色创新质量 参考期刊&#xff1a;《软…