文章目录
- SpringBoot
-
- 第三章
-
- 1、整合mybatsPlus
-
- 1-2
- 3
- 4-6
- 7-10
- 问题
- 2、整合pageHelper分页
- 3、MP代码生成器
-
- 1、编写yml文件
- 2、导入依赖
- 3、创建mp代码生成器
- 4、生成代码
- 5、编写配置类扫描mapper类
- 6、编写控制器类
- 4、swagger
-
- 1、什么是swagger
- 2、作用
- 3、发展历程
- 4、一个简单的swagger项目
- 第四章
-
- 1、swagger
- 2、thymeleaf
-
- 1、使用步骤
- 2、thymeleaf中的表达式
-
- 1、标准变量表达式
- 2、选择变量表达式
- 3、路径表达式
- 3、标签语法
-
- 1、th:text
- 2、th:value
- 3、th:href
- 4、th:src
- 5、th:attr
- 6、th:each
- 7、内敛文本
- 8、内联脚本
- 9、th:switch
- 10、th:if
- 4、thymeleaf中的内置对象
-
- 1、日期
- 2、数值
- 3、统计
- 4、作用域
- 3、综合应用
-
-
- 1-2
- 3-5
- 6
- 7-8
- 页面两种跳转方式
-
SpringBoot
第三章
1、springboot操作mybatisPlus
2、mybatisPlus代码生成器
3、swagger
4、thymeleaf
1、整合mybatsPlus
@@@@@@如果使用Mybatis所有操作要自己编写sql语句,自己编写mapper接口中方法,mybatisPlus对Mybatis进行了封装,常见的方法不用自己声明,即可直接使用
使用MybatisPlus后,常见的sql,mapper接口中的方法不需要自己编写了,由MybatisPlus直接提供,这样可以简化开发过程
步骤
1-2
@@@@@@@@在springboot中使用MybatisPlus
1、创建springboot项目
2、导入依赖
1、web
2、devtools 热部署
3、mybatisPlus(需要手动导入)
4、mysql (默认情况下,系统导入的是mysql 8.0,如果用的其他版本,就需要自己指定版本号)
5、druid---------------这个依赖选不了,需要手动导入
6、lombok
注意:默认导入的mysql的依赖是:
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
需要更改为:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
导入druid
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
<!--导入mybatisPlus的依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
3
3、编写配置文件 application.yml
#服务器端口号
server:
port: 9999
#指定数据库连接
spring:
datasource:
#使用druid连接池
type: com.alibaba.druid.pool.DruidDataSource
#数据库驱动
driver-class-name: com.mysql.jdbc.Driver
#连接地址
url: jdbc:mysql:///d113
#用户名及密码
username: root
password: root
mybatis-plus:
#对哪一个包下面的实体类生成别名,默认别名是类名的首字母小写
type-aliases-package: org.java.entity
#指定mybatis中生成的mapper.xml配置文件的位置
mapper-locations: classpath:mapper/*Mapper.xml
#输出org.java.dao这个包中操作数据库时的底层sql语句
logging:
level:
org:
java:
dao: debug
4-6
4、编写实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("inf")//如果表名与类名一致,该注解可以省略
public class Inf implements Serializable {
//它表示当前对应的是数据表中的主键,当前id的值是由数据库自动分配
@TableId(type = IdType.AUTO)
private Integer id;
@TableField("name")//描述当前属性与数据表中的哪一个字段有映射关系,如果同名可以省略不写
private String name;
private Integer score;
}
5、编写Mapper接口继承于BaseMapper
@Repository
public interface InfMapper extends BaseMapper<Inf> {
}
6、编写配置类扫描Mapper接口
@Configuration
@EnableTransactionManagement
@MapperScan(basePackages = "org.java.dao")
public class WebConfig {
}
7-10
7、编写Service接口
8、编写service实现类
@Service
public class InfServiceImpl implements InfService {
@Autowired
private InfMapper infMapper;
@Override
public void add(Inf inf) {
infMapper.insert(inf);
}
@Override
public List<Inf> getList() {
return infMapper.selectList(null);
}
}
9、编写控制器类
@RestController
public class InfController {
@Autowired
private InfService infService;
@GetMapping("/init")
public List<Inf> getList(){
return infService.getList();
}
@PostMapping("/add")
public void add(Inf inf){
infService.add(inf);
}
}
10、测试
问题
@@@@@@@问题:如果我们要使用一个方法findByScore,但mybatisplus中没有这个方法,我们可以直接扩展
1、在mapper接口指定方法
@Repository
public interface InfMapper extends BaseMapper<Inf> {
public List<Inf> findByScore();
}
2、编写mapper.xml
<mapper namespace="org.java.dao.InfMapper">
<select id="findByScore" parameterType="int" resultType="inf">
select * from inf where score >=#{score}
</select>
</mapper>
3、在yml文件中配置mybatis的信息
mybatis-plus:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: org.java.entity
2、整合pageHelper分页
@@@@@@@@在springboot使用pageHelper实现分页
1、导入pageHelper依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
2、在控制器编写方法接收参数进行分页显示
@GetMapping("/show/{page}/{rows}")
public PageInfo<Inf> showPage(@PathVariable("page") Integer page, @PathVariable("rows") Integer rows){
//分页加载数据
PageInfo<Inf> pg = infService.showPage(page,rows);
return pg;
}
3、编写InfService类中的方法,实现分页显示
public PageInfo<Inf> showPage(Integer page, Integer rows) {
//设置分页的信息
PageHelper.startPage(page,rows);
//创建一个queryWrapper对象,用于封装查询条件
QueryWrapper<Inf> queryWrapper = new QueryWrapper<>();
//分页查询
PageInfo<Inf> pageInfo = new PageInfo<>(infMapper.selectList(queryWrapper));
return pageInfo;
}
3、MP代码生成器
使用MP代码生成器
作用:在项目中使用MP的代码生成器可以生成通用的:Mapper接口,service接口,service实现类,实体
类,以及项目的基本结构
1、编写yml文件
#服务器端口号
server:
port: 8099
#指定数据库连接
spring:
datasource:
#使用druid连接池
type: com.alibaba.druid.pool.DruidDataSource
#数据库驱动
driver-class-name: com.mysql.jdbc.Driver
#连接地址
url: jdbc:mysql:///d118?useUnicode=true&characterEncoding=UTF-8&useSSL=false
#用户名及密码
username: root
password: 123456
mybatis-plus:
#对哪一个包下面的实体类生成别名,默认别名是类名的首字母小写
type-aliases-package: org.java.entity
#指定mybatis中生成的mapper.xml配置文件的位置
mapper-locations: classpath:mapper/*Mapper.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#输出org.java.dao这个包中操作数据库时的底层sql语句
#logging:
# level:
# org:
# java:
# mapper: debug
2、导入依赖
1、web
2、热部署
3、mysql
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
4、druid
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>