SSM
- SSM框架说明
- SpringBoot
- MyBatis
- 整合MyBatis
- 数据库中表的设计
- Pojo对象设计
- Dao接口设计
- Dao单元方法进行测试
- XML管理
- 整合MyBatis框架映射配置文件的位置
- XML配置SQL标签
- 常用的SQL标签
- 动态SQL语句
- 动态删除数据
- 动态修改数据
SSM框架说明
- Spring
指 Spring Framework,是Spring家族的核心。 - SpringMVC
SpringMVC 是 Spring Framework 的核心子项目,提供了一系列功能,使得开发者能够快速开发灵活、易于维护的Web应用程序 - MyBatis
MyBatis 是基于 Java 的持久层框架,用于和数据库映射;
MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作;
MyBatis 通过注解方式或者xml配置文件的方式来配置SQL和映射关系,灵活性非常高
SpringBoot
Spring Boot是一个Java软件开发框架(脚手架)
SpringBoot核心特性
- 起步依赖
创建项目时,会默认添加基础依赖,简化我们自己查找依赖的过程。 - 嵌入式服务(Tomcat)
SpringBoot工程支持内嵌的web服务,可以将tomcat这样的服务直接嵌套到web依赖中。
MyBatis
- Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互;
- 使用此框架程序员只需要通过注解或者修改xml配置文件的方式配置好需要执行的SQL语句,MyBatis框架会根据SQL语句生成对应的JDBC代码并对数据库中数据进行增删改查操作。
整合MyBatis
application.properties配置文件中添加连接数据库信息
spring.datasource.url=jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Shanghai&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
数据库中表的设计
Pojo对象设计
Dao接口设计
- @Mapper注解
是由MyBatis框架提供,用于描述数据层接口,告诉系统底层为此接口创建其实现类,在实现类中定义数据访问逻辑,执行与数据库的会话(交互) - @Insert注解
使 MyBatis 框架根据接口方法的参数类型自动生成插入数据的代码 - 占位符 #{}
#{} 是 MyBatis 框架中用来表示占位符的语法
在 @Insert 注解中,#{}所代表的是一个占位符,它可以接受 Java 对象作为输入参数,并将其转换为预编译的 SQL 语句中的参数。使用 #{}可以帮助我们避免 SQL 注入等问题,同时也让 SQL 写起来更加简单 - @Select
- @Update
- @Delete
Dao单元方法进行测试
XML管理
xml定义
- XML是一种可扩展性语言,用户可以自己定义标签,用来描述特定类型的数据;
- XML的语法严格,每个标签都必须有一个结束标签,标签的嵌套关系也必须合法;
和SQL注解比较
- xml配置SQL,可以将SQL语句和JAVA代码分离开
- xml配置SQL,支持动态SQL语句
- xml配置SQL,支持SQL语句的复用
整合MyBatis框架映射配置文件的位置
application.properties中添加配置:mybatis框架映射配置文件的位置
mybatis.mapper-locations=classpath:mappers/*.xml
XML配置SQL标签
在 Mybatis 的 XML 文件中,SQL 语句都是使用 SQL 标签来定义的
常用的SQL标签
-
select
用于查询操作,包括多表查询、条件查询等。可以使用 resultType 来指定返回结果的类型。 -
insert
用于插入操作,并将其自动注入实体类中。 -
update
用于更新操作,包括更新一条记录或者批量更新。 -
delete
用于删除操作,包括删除一条记录或者批量删除。 -
if、foreach、set
用于条件控制,可以根据不同的条件进行查询、插入、更新和删除操作。if 标签用于指定可以为空的查询条件,foreach 标签用于循环查询,set 标签用于指定更新操作的字段值。 -
sql
用于定义可重用的 SQL 片段,通常是一些较为复杂的 SQL 片段。可以在其它 SQL 语句中使用 include 标签来引用 SQL 片段。 -
include
用于引入外部的 SQL 片段。可以在 include 标签的 refid 属性中指定外部 SQL 片段的名字,然后在当前 SQL 中使用它。
这些 SQL 标签可以随意组合,可以使 SQL 语句变得很灵活和强大。通常需要根据实际业务场景选择合适的标签来实现相应的 SQL 操作。
动态SQL语句
动态SQL是指在程序运行时动态生成SQL语句的技术。它允许开发人员在程序运行时根据不同的条件拼接SQL语句,从而灵活地构建各种查询