开发者社区> 一个风轻云淡> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

微服务项目:尚融宝(2)(上手复习mybatisplus)

简介: MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
+关注继续查看

放弃幻想,认清现实,准备斗争 


简介 



官网


http://mp.baomidou.com



特点


MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 



image.png


支持数据库



mysql 、mariadb 、oracle 、db2 、h2 、hsql 、sqlite 、postgresql 、sqlserver 、presto 、Gauss 、Firebird


Phoenix 、clickhouse 、Sybase ASE 、 OceanBase 、达梦数据库 、虚谷数据库 、人大金仓数据库 、南大通用数据库 、


框架结构 

 

232a7996d56e4f9ea4093dbc36ba9054.png


快速入门 



1、创建数据库


创建数据库:mybatis_plus


ac45715784e14d8c839801225d23be66.png


创建数据表:user

 

CREATE TABLE user
(
    id BIGINT(20) NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');



2、创建SpringBoot工程


560628b1219142cfb7176ba617b4c1d8.png

e00c11ee6ad2428d88588d8884ff4813.png


3、引入依赖


<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
 
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.1</version>
    </dependency>
 
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
 
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
 
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>



4、修改配置文件


application.properties 配置文件中添加 MySQL 数据库的相关配置:


#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456


5、创建实体类


创建包 entity,编写实体类 User.java,并使用lombok简化实体类的编写


package com.atguigu.mybatisplus.entity;
 
@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}



6、创建mapper接口


创建包 mapper,编写Mapper 接口: UserMapper.java


package com.atguigu.mybatisplus.mapper;
 
public interface UserMapper extends BaseMapper<User> {
    
}



7、启动类添加注解


在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹


package com.atguigu.mybatisplus;
 
@SpringBootApplication
@MapperScan("com.atguigu.mybatisplus.mapper")
public class MybatisPlusApplication {
    public static void main(String[] args) {
        SpringApplication.run(MpApplication.class, args);
}



@MapperScan

添加@MapperScan(“cn.mybatis.mappers”)注解以后,cn.mybatis.mappers包下面所有的接口类,在编译之后都会生成相应的实现类


还要一种处理的方式是将接口上标注注解@Mapper


@Mapper
public interface UserMapper extends BaseMapper<User> {
 
}



在不使用@MapperScan前,我们需要直接在Mapper类上面添加注解@Mapper,这种方式要求每一个Mapper类都需要添加此注解,非常麻烦,属于重复劳动。通过使用@MapperScan注解,可以让我们不用为每个Mapper类都添加@Mapper注解。


8、测试


@SpringBootTest
class MybatisPlusApplicationTests {
 
    //@Autowired //默认按类型装配。是spring的注解
    @Resource //默认按名称装配,找不到与名称匹配的bean,则按照类型装配。是J2EE的注解
    private UserMapper userMapper;
 
    @Test
    void testSelectList() {
        //selectList()方法的参数:封装了查询条件
        //null:无任何查询条件
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }
}



776678fa88d546588710fe867b882ddc.png


补充、查看sql输出日志



#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux 下一代架构基金会宣布:正式成立 NextArch 基金会微服务技术组!联手腾讯等企业/社区共同发力微服务标准化建设
Linux 下一代架构基金会宣布:正式成立 NextArch 基金会微服务技术组!联手腾讯等企业/社区共同发力微服务标准化建设
64 0
《微服务架构演进与挑战-肖宇》电子版地址
《微服务架构演进与挑战-肖宇》PDF
21 0
微服务架构 | 10.3 使用 Zipkin 可视化日志追踪
Zipkin 允许开发人员以图形方式查看事务占用的时间量,并分解在调用中涉及的每个微服务所用的时间。在微服务架构中,Zipkin 是识别性能问题的宝贵工具;
265 0
微服务架构 | 11. 分布式事务
分布式事务是指事务的参与者、支持事务的服务器、资源服务器及事务管理器分别位于分布式系统的不同节点上;
80 0
微服务架构 | 10.1 使用 Sleuth 追踪服务调用链
Spring Cloud Sleuth 是一个 Spring Cloud 项目,它将关联 ID 装备到 HTTP 调用上,并将生成的跟踪数据提供给 OpenZipkin 的钩子。Spring Cloud Sleuth 通过添加过滤器并与其他 Spring 组件进行交互,将生成的关联 ID 传递到所有系统调用;
63 0
(四)整合spring cloud云服务架构-企业分布式微服务云架构构建
从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。
1353 0
+关注
一个风轻云淡
又菜又爱玩的一个人
文章
问答
文章排行榜
最热
最新
相关电子书
更多
基于 OpenResty 和 Node.js 的个推微服务实践
立即下载
Tangram
立即下载
用RxSwift写易维护易读的愉悦代码
立即下载