最新SSM中常用知识点总结回顾,看懂这些帮你轻松解决就业问题

我的面试宝典:一线互联网大厂Java核心面试题库

以下是我个人的一些做法,希望可以给各位提供一些帮助:

整理了很长一段时间,拿来复习面试刷题非常合适,其中包括了Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等,且还会持续的更新…可star一下!

image

283页的Java进阶核心pdf文档

Java部分:Java基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker

image

还有源码相关的阅读学习

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

select id , name , pwd as password from user where id = #{id}

方式二【推荐使用】:

select id , name , pwd from user where id = #{id}

(4).日志的使用

配置在myabtis-config.xml的核心配置文件当中,具体采用哪个日志去myabtis的官网去拿就行

(5).实现分页

在学习mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,如果查询大量数据的时候,我们往往使用分页进行查询,也就是每次处理小部分数据,这样对数据库压力就在可控范围内。

方式一:limit分页

1、修改Mapper文件

select * from user limit #{startIndex},#{pageSize}

2、Mapper接口,参数为map

//选择全部用户实现分页

List selectUser(Map<String,Integer> map);

3、在测试类中传入参数测试

推断:起始位置 = (当前页面 - 1 ) * 页面大小

//分页查询 , 两个参数startIndex , pageSize

@Test

public void testSelectUser() {

SqlSession session = MybatisUtils.getSession();

UserMapper mapper = session.getMapper(UserMapper.class);

int currentPage = 1; //第几页

int pageSize = 2; //每页显示几个

Map<String,Integer> map = new HashMap<String,Integer>();

map.put(“startIndex”,(currentPage-1)*pageSize);

map.put(“pageSize”,pageSize);

List users = mapper.selectUser(map);

for (User user: users){

System.out.println(user);

}

session.close();

}

方式二:Rowbounds分页

我们除了使用Limit在SQL层面实现分页,也可以使用RowBounds在Java代码层面实现分页,当然此种方式作为了解即可。我们来看下如何实现的!

1、mapper接口

//选择全部用户RowBounds实现分页

List getUserByRowBounds();

2、mapper文件

select * from user

3、测试类

在这里,我们需要使用RowBounds类

@Test

public void testUserByRowBounds() {

SqlSession session = MybatisUtils.getSession();

int currentPage = 2; //第几页

int pageSize = 2; //每页显示几个

RowBounds rowBounds = new RowBounds((currentPage-1)*pageSize,pageSize);

//通过session.**方法进行传递rowBounds,[此种方式现在已经不推荐使用了]

List users = session.selectList(“com.kuang.mapper.UserMapper.getUserByRowBounds”, null, rowBounds);

for (User user: users){

System.out.println(user);

}

session.close();

}

方式三:PageHelper插件分页

在这里插入图片描述

(6).一对多,多对一

(7).动态sql

(8).缓存cache

mybatis当前我认为重点的知识点也就是上面这一些了,后续持续补充

二.Spring框架

Spring使用的具体提流程:Spring的核心配置文件一般命名为applicationContext.xml,导入头文件后和命名空间将所有的实体类对象注册到当中即可,

Spring主要就是引入了IOC和AOP两大思想,所以我们又称Spring为非入侵式的控制反转IOC和面向切面变成AOP的轻量级框架

IOC:控制反转的思想,主要是实现控制权的反转,是由原本的程序员主动去new对象,替代控制权交给用户,只是提供一个接口,被动的接受对象

AOP:面向切面编程思想,主要是方便后期的维护,在不改动原有的代码的条件下,给原有代码增加功能等一系列操作。

常用知识点总结:

1.注册bean:

【方式一】:通过配置文件的方式去注册bean对象,并为其属性赋值

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd">

【方式二】:通过注解的方式去注册bean对象,等价于配置文件,但是注入属性的时候可操作性低于配置文件

@Component:一般情况下,下面三个是其衍生注解,功能相同用于区分

@Repository:一般用于Dao层

@Controller:一般用于Controller层

@Service:一般用于Service层

【方式三】:javaConfig的方式去注册bean对象

JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。

@configuration和@Bean2个注解的联合使用

@Configuration //代表这是一个配置类

public class MyConfig {

@Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!

public Dog dog(){

return new Dog();

}

}

最后

金三银四马上就到了,希望大家能好好学习一下这些技术点

学习视频:

大厂面试真题:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

w Dog();

}

}

最后

金三银四马上就到了,希望大家能好好学习一下这些技术点

学习视频:

[外链图片转存中…(img-y5VbVENT-1715650682135)]

大厂面试真题:

[外链图片转存中…(img-ctOpPndy-1715650682135)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值