前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >后端综合笔记

后端综合笔记

作者头像
栖西
发布2023-10-17 08:25:04
1230
发布2023-10-17 08:25:04
举报
文章被收录于专栏:栖西栖西
从代码中摘录一些知识点

http

http状态码

代码语言:javascript
复制
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

常见状态码

代码语言:javascript
复制
200 OK                        //客户端请求成功
400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden                 //服务器收到请求,但是拒绝提供服务
404 Not Found                 //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error     //服务器发生不可预期的错误
503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

jsp

9大内置对象

代码语言:javascript
复制
request:封装客户端的请求,其中包含来自GET或POST请求的参数;

response:封装服务器对客户端的响应;

pageContext:通过该对象可以获取其他对象;

session:封装用户会话的对象;

application:封装服务器运行环境的对象;

out:输出服务器响应的输出流对象;

config:Web应用的配置对象;

page:JSP页面本身(相当于Java程序中的this);

exception:封装页面抛出异常的对象。

4种作用域

代码语言:javascript
复制
page代表与一个页面相关的对象和属性。

request代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web组件;需要在页面显示的临时数据可以置于此作用域。

session代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的session中。

application代表与整个Web应用程序相关的对象和属性,它实质上是跨越整个Web应用程序,包括多个页面、请求和会话的一个全局作用域。

mybatis

一级缓存和二级缓存的区别

代码语言:javascript
复制
一级缓存的作用域是在SqlSession中,二级缓存的作用域是针对mapper做缓存。
一级缓存(本地缓存):一级缓存是框架默认为我们开启的,我们不需要做任何配置。首先去缓存中查询结果集,如果没有则查询数据库,如果有则从缓存取出返回结果集就不走数据库。
二级缓存(全局缓存):二级缓存是 mapper 级别的缓存,多个sqlSession去操作同一个Mapper的sql,不管Sqlsession 是否相同,只要 mapper 的 namespace相同就能共享数据。也可以称之为 namespace 级别的缓存 。二级缓存是可以跨SqlSession的。

工作原理:
sqlSession 关闭后(close) ,一级缓存的数据会保存到二级缓存中,新的相同就会去二级缓存中去查询

9大动态SQL

代码语言:javascript
复制
元素					   作用					备注
if						 判断语句				单条件分支
choose(when、otherwise)	相当于 Java 中的 if else	多条件分支
trim(where、set)			辅助元素			用于处理 SQL 拼接问题
foreach					 循环语句	批量插入, 更新, 查询时经常用到
bind					 创建一个变量, 并绑定到上下文中	用于兼容不同的数据库, 防止 SQL 注入等

其他标签

代码语言:javascript
复制
sql和include

<!-- 可复用的字段语句块 -->
<sql id="userColumns">
    id,username,password 
</sql>

使用时
<select id="selectUsers" resultType="map">
	  select
	    <include refid="userColumns"></include> 
	  from user
</select>

配置映射结果集
<resultMap id="BaseTable" type="com.myfdc.domain.StudentDO">
       <id property="user_id" column="id"></id>
       <result property="user_name" column="name"></result>
       <result property="user_age" column="age"></result>
</resultMap>

使用时,标签后面加 resultMap="BaseTable"   

配置多表联合查询的时候,结果映射
<resultMap id="empAndDept" type="emp">
       <id column="id" property="id"></id>
       <result column="ename" property="ename"></result>
       <result column="job_id" property="jobId"></result>
       <result column="mgr" property="mgr"></result>
       <result column="joindate" property="joindate"></result>
       <result column="salary" property="salary"></result>
       <result column="bonus" property="bonus"></result>
       <result column="dept_id" property="deptId"></result>
       <association property="dept" column="dept" javaType="dept">
           <id column="id" property="id"></id>
           <result column="name" property="name"></result>
       </association>
</resultMap>

<!-- 测试使用-->
<select id="loadData" resultMap="empAndDept">
        select e.*,d.name from emp e,dept d where e.dept_id=d.id order by dept_id limit 0,5;
</select>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从代码中摘录一些知识点
  • http
  • jsp
  • mybatis
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档