• mybatis plus 快速上手


    MyBatis-Plus 是一个 MyBatis 的增强工具;

    先构建一个 spring boot 项目

    1. 添加依赖

            <!-- 数据库 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.3.1.tmp</version>
            </dependency>
            <!-- 数据库驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.19</version>
            </dependency>
            <!-- 代码生成器 如不使用可以不加 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>3.3.1</version>
            </dependency>
            <!-- Druid连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.22</version>
            </dependency>
            <!-- 模板引擎 和代码生成器搭配使用,如不使用可以不加 -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>2.0</version>
            </dependency>

    2.配置

    如果是 .yml 文件 ↓

    spring:
      datasource: 
        driver-class-name: com.mysql.cj.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource    # 数据源类型
        url: jdbc:h2:mem:test
        username: root
        password: test
    mybatis-plus:
    configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #日志

    如果是 .properties文件 ↓

    spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
    spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
    spring.datasource.url = jdbc:h2:mem:test
    spring.datasource.username = root
    spring.datasource.password = test
    mybatis-plus.configuration.log-impl= org.apache.ibatis.logging.stdout.StdOutImpl #日志

    更多 dataSource 配置 :https://www.cnblogs.com/toughzcf/p/9835867.html

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

    package com.example.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication(scanBasePackages = {"com.example.*"})
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
    }

     

    3. 生成 @Data,mapper 文件(此处我是用代码生成器直接生成的

    代码生成器代码↓

    // 代码生成器
        @Test
        void generator() {
            GlobalConfig globalConfig = new GlobalConfig();
            globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
            globalConfig.setAuthor("author");         // 作者名
            globalConfig.setOpen(false);
    
            DataSourceConfig dataSourceConfig = new DataSourceConfig();
            dataSourceConfig.setUrl(jdbcUrl);         // 数据库连接地址
            dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
            dataSourceConfig.setUsername("root");     // 数据库用户名
            dataSourceConfig.setPassword("3wHNY2Bq"); // 数据库密码
    
            //3、策略配置
            StrategyConfig strategyConfig = new StrategyConfig();
            strategyConfig.setCapitalMode(true)      // 开启全局大写命名
    //                .setDbColumnUnderline(true)    // 表名字段名使用下划线
                    .setNaming(NamingStrategy.underline_to_camel)//下划线转驼峰的命名方式
                    .setTablePrefix("xxxx_")         // 表名前缀
                    .setEntityLombokModel(true)      // 使用lombok
                    .setInclude("xxxx_sms");         // 逆向工程使用的表
            //4、包名策略配置
            PackageConfig packageConfig = new PackageConfig();
            packageConfig
                    .setParent("com.example.demo")  // 设置包名的parent
                    .setMapper("dao.xxxx")
    //                .setService("service")        // service 文件目录
    //                .setController("controller")  // controller 文件目录
                    .setEntity("entity.xxxx")       // data文件目录
                    .setXml("mapper/xxxx");         // 设置xml文件的目录  (暂没有找到xml文件直接存到 resource 目录下的方法,由于resource目录和java目录同级)
    
            // 配置模板
            TemplateConfig templateConfig = new TemplateConfig();
            //控制 不生成 controller,server,impl 文件
            templateConfig.setController("").setService("").setServiceImpl("");
    
            AutoGenerator autoGenerator = new AutoGenerator();
            autoGenerator.setGlobalConfig(globalConfig)
                    .setDataSource(dataSourceConfig)
                    .setStrategy(strategyConfig)
                    .setPackageInfo(packageConfig)
                    .setTemplate(templateConfig);
    
            //6、执行
            autoGenerator.execute();
        }

    4. 现在就可以直接使用增删改查了

    @Service
    public class HomeImpl implements HomeService {
        @Autowired
        private SmsMapper smsMapper;
    
        @Override
        public List sms(String phone) {
            QueryWrapper<Sms> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("phone", phone);
            return smsMapper.selectList(queryWrapper);
        }
    }

     

  • 相关阅读:
    (一)lamp 环境搭建之编译安装apache
    ssl 原理和建立连接过程
    lamp 架构的理解
    diff 命令,防止遗忘
    关于云计算的一些概念理解
    lvs 四层负载相关
    Mac 安装Git
    Harbor镜像仓库v2.1.0_2安装与使用
    CentOS部署Harbor镜像仓库
    从harbor部署到在k8s中使用
  • 原文地址:https://www.cnblogs.com/javencs/p/12957957.html
Copyright © 2020-2023  润新知