SSM框架笔记
文章平均质量分 90
SSM框架笔记
sweetheart7-7
技术源于热爱 ---------------------- 学习改变命运,知识改变未来 ---------------------- Architect-Road
展开
-
SSM 注解配置方式整合
用户自定义的类可以用 @Service、@Controller 等注解将其标注,使用注解扫描方式使得 Spring 去创建这些 bean 对象。请求参数中有数据,转换成 Java 对象,Controller 层方法形参 ➕ @RequestParam;请求体中有数据,转换成 Java 对象,Controller 层方法形参 ➕ @RequestBody;eth:请求体中是 Json 数据,而 Controller 层方法形参是 Java 对象。Q:第三方的类如何使用注解方式使 Spring 去创建呢?原创 2023-10-06 09:58:21 · 271 阅读 · 0 评论 -
MyBatis注解开发多条件查询
Mapper中public interface StudentMapper { @Select("select * from students") List<Students> findAll(); @Insert("insert into students (sid,username,major,dnum) values (#{sid},#{username},#{major},#{dnum})") void addStudent(Students stu原创 2022-05-04 19:18:54 · 1448 阅读 · 0 评论 -
十七、SSM框架整合
原始方式整合1. 准备工作2. 创建Maven工程3.导入Maven坐标4. 编写实体类5. 编写Mapper接口6. 编写Service接口7. 编写Service接口实现8. 编写Controller9. 编写添加页面10. 编写列表页面11. 编写相应配置文件12. 测试添加账户13. 测试账户列表Spring整合MyBatis1. 整合思路2. 将SqlSessionFactory配置到Spring容器中3. 扫描Mapper,让Spring容器产生Mapper实现原创 2022-04-29 08:23:37 · 324 阅读 · 0 评论 -
十六、Mybatis的注解开发
MyBatis的常用注解MyBatis的增删改查MyBatis的注解实现复杂映射开发一对一查询1. 一对一查询的模型2. 一对一查询的语句3. 创建Order和User实体4. 创建OrderMapper接口5. 使用注解配置Mapper6. 测试结果一对多查询1. 一对多查询的模型2. 一对多查询的语句3. 修改User实体4. 创建UserMapper接口5. 使用注解配置Mapper6. 测试结果多对多查询1. 多对多查询的模型2. 多对多查询的语句3. 创建R原创 2022-05-04 12:07:12 · 537 阅读 · 0 评论 -
十五、MyBatis的多表操作
文章目录一对一查询1. 一对一查询的模型2. 一对一查询的语句3. 创建Order和User实体4. 创建OrderMapper接口5. 配置OrderMapper.xml6. 测试结果一对多查询1. 一对多查询的模型2. 一对多查询的语句3. 修改User实体4. 创建UserMapper接口5. 配置UserMapper.xml6. 测试结果多对多查询1. 多对多查询的模型2. 多对多查询的语句3. 创建Role实体,修改User实体4. 添加UserMapper接口方法5. 配置UserMapper.原创 2022-04-29 08:22:31 · 530 阅读 · 0 评论 -
十四、MyBatis核心配置文件深入
文章目录typeHandlers 标签plugins标签知识小结typeHandlers 标签无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器(截取部分)。你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。具体做法为:实现 org.apache.ibatis.type.TypeHandler 接口, 或继承一个原创 2022-04-29 08:22:03 · 218 阅读 · 0 评论 -
十三、MyBatis映射文件深入
文章目录动态 sql 语句1. 动态 sql 语句概述2. 动态 SQL 之 <if><if><if>3. 动态 SQL 之<foreach><foreach><foreach>SQL片段抽取知识小结动态 sql 语句1. 动态 sql 语句概述Mybatis 的映射文件中,前面我们的 SQL 都是比较简单的,有些时候业务逻辑复杂时,我们的 SQL是动态变化的,此时在前面的学习中我们的 SQL 就不能满足要求了。参考的官方文档,原创 2022-04-29 08:21:32 · 225 阅读 · 0 评论 -
十二、MyBatis的Dao层实现方式
文章目录传统开发方式1. 编写UserDao接口2. 编写UserDaoImpl实现3. 测试传统方式代理开发方式1. 代理开发方式介绍2. 编写UserMapper接口3. 测试代理方式传统开发方式1. 编写UserDao接口2. 编写UserDaoImpl实现3. 测试传统方式代理开发方式1. 代理开发方式介绍采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流。Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口原创 2022-04-29 08:20:33 · 167 阅读 · 0 评论 -
十一、MyBatis入门操作
文章目录Mybatis简介原始jdbc操作(查询数据)原始jdbc操作(插入数据)原始jdbc操作的分析什么是MybatiMybatis的快速入门MyBatis开发步骤环境搭建1. 导入MyBatis的坐标和其他相关坐标2. 创建user数据表3. 编写User实体4. 编写UserMapper映射文件5. 编写MyBatis核心文件编写测试代码知识小结MyBatis的映射文件概述MyBatis的增删改查操作MyBatis的插入数据操作1. 编写UserMapper映射文件2. 编写插入实体User的代码3原创 2022-04-29 08:20:09 · 316 阅读 · 0 评论 -
十、声明式事务控制
文章目录编程式事务控制相关对象PlatformTransactionManagerTransactionDefinition1. 事务隔离级别2. 事务传播行为TransactionStatus知识要点基于 XML 的声明式事务控制什么是声明式事务控制声明式事务控制的实现切点方法的事务参数的配置知识要点基于注解的声明式事务控制使用注解配置声明式事务控制注解配置声明式事务控制解析知识要点编程式事务控制相关对象PlatformTransactionManagerPlatformTransactionMa原创 2022-04-29 08:19:28 · 258 阅读 · 0 评论 -
九、面向切面编程AOP
文章目录Spring 的 AOP 简介什么是 AOPAOP 的作用及其优势AOP 的底层实现AOP 的动态代理技术JDK 的动态代理cglib 的动态代理AOP 相关概念AOP 开发明确的事项1. 需要编写的内容2. AOP 技术实现的内容3. AOP 底层使用哪种代理方式知识要点基于 XML 的 AOP 开发快速入门XML 配置 AOP 详解1. 切点表达式的写法2. 通知的类型3. 切点表达式的抽取知识要点基于注解的 AOP 开发快速入门注解配置 AOP 详解1. 注解通知的类型2. 切点表达式的抽取知原创 2022-04-29 08:18:47 · 2619 阅读 · 0 评论 -
八、SpringMVC异常处理机制
文章目录SpringMVC异常处理异常处理的思路异常处理两种方式简单异常处理器SimpleMappingExceptionResolver自定义异常处理步骤知识要点SpringMVC异常处理异常处理的思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。系统的Dao、Service、Controller出现都通过throws Exception向上抛出,最后由SpringMVC前端控原创 2022-04-29 08:18:04 · 177 阅读 · 0 评论 -
七、SpringMVC拦截器
文章目录SpringMVC拦截器拦截器(interceptor)的作用拦截器和过滤器区别拦截器是快速入门拦截器方法说明知识要点SpringMVC拦截器拦截器(interceptor)的作用Spring MVC 的 拦截器 类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(Interceptor Chain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器也是AOP思想的具体原创 2022-04-28 17:07:50 · 203 阅读 · 0 评论 -
六、Spring练习
Spring练习环境搭建Spring环境搭建步骤① 创建工程(Project&Module)② 导入静态页面(见资料jsp页面)③ 导入需要坐标(见资料中的pom.xml)④ 创建包结构(controller、service、dao、domain、utils)⑤ 导入数据库脚本(见资料test.sql)⑥ 创建POJO类(见资料User.java和Role.java)⑦ 创建配置文件(applicationContext.xml、spring-mvc.xml、jdbc.propert原创 2022-04-28 17:07:26 · 863 阅读 · 0 评论 -
五、JdbcTemplate
文章目录JdbcTemplate概述JdbcTemplate开发步骤Spring产生JdbcTemplate对象JdbcTemplate的常用操作知识要点JdbcTemplate概述它是 spring 框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring 框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate 和 HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的 JmsTemplate 等等。J原创 2022-04-28 17:06:57 · 366 阅读 · 0 评论 -
四、SpringMVC的请求和响应
文章目录SpringMVC的数据响应SpringMVC的数据响应方式页面跳转1. 返回字符串形式2. 返回ModelAndView对象3. 向request域存储数据回写数据1. 直接返回字符串2. 返回对象或集合SpringMVC 获得请求数据获得请求参数获得基本类型参数获得 POJO 类型参数获得数组类型参数获得集合类型参数请求数据乱码问题参数绑定注解 @requestParam获得 Restful 风格的参数自定义类型转换器SpringMVC的数据响应SpringMVC的数据响应方式1) 页面原创 2022-04-28 17:06:34 · 377 阅读 · 0 评论 -
三、SpringMVC入门
Spring集成web环境ApplicationContext应用上下文获取方式应用上下文对象是通过 new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得 Bean 时都要编写 new ClasspathXmlApplicationContext(spring配置文件),这样的弊端是配置文件加载多次,应用上下文对象创建多次。在 Web 项目中,可以使用 ServletContextListener 监听 Web 应用的启动,我.原创 2022-04-28 17:06:12 · 380 阅读 · 0 评论 -
二、IoC和DI注解开发
Spring配置数据源数据源(连接池)的作用• 数据源(连接池)是提高程序性能如出现的• 事先实例化数据源,初始化部分连接资源• 使用连接资源时从数据源中获取• 使用完毕后将连接资源归还给数据源常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等数据源的开发步骤① 导入数据源的坐标和数据库驱动坐标② 创建数据源对象③ 设置数据源的基本连接数据④ 使用数据源获取连接资源和归还连接资源数据源的手动创建① 导入c3p0和druid的坐标<!-- C3P0连接池原创 2022-04-28 17:05:28 · 367 阅读 · 0 评论 -
一、Spring的IOC和DI
文章目录Spring简介Spring是什么Spring的优势Spring的体系结构Spring程序开发步骤导入Spring开发的基本包坐标编写Dao接口和实现类创建Spring核心配置文件使用Spring的API获得Bean实例Spring配置文件Bean标签基本配置Bean标签范围配置Bean生命周期配置Bean实例化三种方式1) 使用无参构造方法实例化2) 工厂静态方法实例化3) 工厂实例方法实例化Bean的依赖注入入门Bean的依赖注入概念1)set方法注入2)构造方法注入Bean的依赖注入的数据类型原创 2022-04-11 16:25:17 · 313 阅读 · 0 评论