springboot项目中引入mybatis plus

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: springboot项目中引入mybatis plus

公众号merlinsea


mybatis plus的介绍



  • 官⽹ https://baomidou.com/ 
  • 是⼀个 Mybatis 的增强⼯具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提⾼效率⽽⽣。
  • 是怎么增强的呢?mybatis plus已经封装好了⼀些crud⽅法,我们不需要再像mybatis这样编写xml了,直接调⽤这些⽅法就⾏,类似JPA但优于JPA。

第一步:准备工作



1、pom文件中引入依赖【数据库依赖和mybatis plus依赖】


<!--引入数据库依赖--><dependency>   <groupId>mysql</groupId>   <artifactId>mysql-connector-java</artifactId></dependency>
<!--mybatis plus和springboot整合--><dependency>   <groupId>com.baomidou</groupId>   <artifactId>mybatis-plus-boot-starter</artifactId>   <version>3.4.1</version></dependency>


2、在application.properties中添加数据库连接信息


【核心是 :数据库连接驱动+地址+库名+账号+密码】


#==============================数据库相关配置========================================spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/shop?useUnicode=true&characterEncoding=utf-8&useSSL=falsespring.datasource.username =rootspring.datasource.password =mysqlroot
#配置mybatis plus打印sql日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl


3、启动类上添加 @MapperScan("org.example.shopmanager.mapper")


@SpringBootApplication//org.example.shopmanager.mapper用于存放数据库表的实体类的包@MapperScan("org.example.shopmanager.mapper")public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}


第二步、编写model-mapper-service-controller层



1、model层【对应数据库表的DO实体类】


   注释:通过配置文件引入了数据库shop,配合mybatis plus 的TableName(),得出BannerDO类映射到shop数据库下的banner表。


/**
 * @TableName 表示这个实体类映射数据库中的表名
 **/
@Data
@TableName("banner")//表名映射
public class BannerDO {
    private Integer id;
    private String img;
    private String url;
    private Integer weight;
}


2、mapper层【数据库访问层】


注释:

  • 接口,反射的方式调用,继承BaseMapper<BannerDO>,BaseMapper<BannerDO>中提供了很多数据库的增删改查方法,直接调用即可
  • mapper层可以不加@Mapper注解,因为启动类上加了@MapperScan("org.example.shopmanager.mapper")包扫描路径,如果启动类没加

mapper包扫描路径,则需要在mapper层添加@Mapper注解。


/**
 * BannerMapper需要继承BaseMapper<BannerDO>接口
 */
public interface BannerMapper extends BaseMapper<BannerDO> {
}


3、service层【业务逻辑层】


注释:通过java反射技术持有mapper数据库访问层的对象,然后执行业务操作。


/**
 * list列出所有的Banner轮播图
 **/
@Service
public class BannerServiceImpl implements BannerService {
    @Autowired
    private BannerMapper bannerMapper;
    //列出所有的BannerDO信息
    @Override
    public List<BannerDO> list() {
        return bannerMapper.selectList(new QueryWrapper<>());
    }
}


4、controller层【提供外界访问】


@RestController
@RequestMapping("api/v1/banner")
public class BannerController {
    @Autowired
    private BannerService bannerService;
    @RequestMapping("list")
    public JsonData list(){
        List<BannerDO> list = bannerService.list();
        return JsonData.buildSuccess(list);
    }
}


在外界浏览器中输入:http://localhost:8080/api/v1/banner/list 触发整个链路

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
SQL Java 数据库连接
SpringBoot整合Mybatis
SpringBoot整合Mybatis
21 2
|
19天前
|
运维 监控 安全
云HIS医疗管理系统源码——技术栈【SpringBoot+Angular+MySQL+MyBatis】
云HIS系统采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分,功能易扩展;支持多样化灵活配置,提取大量公共参数,无需修改代码即可满足不同客户需求;服务组织合理,功能高内聚,服务间通信简练。
32 4
|
6天前
|
Java 数据库连接 Spring
Spring 整合mybatis
Spring 整合mybatis
17 2
|
1天前
|
消息中间件 JSON Java
RabbitMQ的springboot项目集成使用-01
RabbitMQ的springboot项目集成使用-01
|
2天前
|
JSON Java 数据格式
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
|
5天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
12 0
|
6天前
|
Java Spring
Spring boot项目如何发送邮件
Spring boot项目如何发送邮件
16 2
|
10天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
30 4
|
11天前
|
Java 数据库连接 数据库
Springboot整合mybatisPlus开发
MyBatis-Plus是一个MyBatis的增强工具,旨在简化开发和提高效率。它在不修改原有MyBatis的基础上提供额外功能。要将MyBatis-Plus集成到SpringBoot项目中,首先通过Maven添加mybatis-plus-boot-starter和相应数据库驱动依赖,然后配置application.yml中的数据库连接信息,并指定Mapper类的扫描路径。Mapper接口可继承BaseMapper实现基本的CRUD操作。
|
11天前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。