zoukankan      html  css  js  c++  java
  • 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);
        }
    }

     

  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/javencs/p/12957957.html
Copyright © 2011-2022 走看看