(一)springboot+mybatisPlus

    技术2023-10-17  78

    1  新建一个springboot项目  

    2加入mybatisPlus依赖

    <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1</version> </dependency> <dependency><!--添加代码生成器--> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version> </dependency>  

    3 在yml文件中配置mysql数据库

    spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver #url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8 上面这个不对 是因为mysql8.0以上新加了特性 url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC username: root password: admin

    4代码生成

    public class main { public static void main(String[] args) { //创建Generator 对象 AutoGenerator autoGenerator = new AutoGenerator(); //数据源 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); //如果是远端的数据库 需要把localhost改成ip地址就好了 dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("admin"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); autoGenerator.setDataSource(dataSourceConfig); //全局配置 GlobalConfig globalConfig = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); globalConfig.setOutputDir(projectPath+"/src/main/java");//这样会拿到工程的绝对路径 //System.getProperty("user.dir") 就是当前工程的绝对目录 globalConfig.setOpen(false);//创建好工程之后不会自动打开 globalConfig.setAuthor("zf");// globalConfig.setServiceName("%sService");//加上这句代码 在生成Service类的时候就不会默认前面有I了 autoGenerator.setGlobalConfig(globalConfig); //包信息 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.zf.blog"); packageConfig.setModuleName("generator"); packageConfig.setController("controller"); packageConfig.setService("service"); packageConfig.setServiceImpl("servicce.impl"); packageConfig.setMapper("mapper"); packageConfig.setEntity("entity"); autoGenerator.setPackageInfo(packageConfig); //如果使用默认的模板 velocity 这里就不用设置模板信息了 我们这里用freemarker需要配置 // 自定义配置 //配置策略 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setEntityLombokModel(true);//实体类生成之后自动添加lombok注解 strategyConfig.setNaming(NamingStrategy.underline_to_camel); strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);//将数据库中带下划线的转成驼峰规则 autoGenerator.setStrategy(strategyConfig); autoGenerator.execute();//配置完之后运行 } }

       生成的文件如作图所示

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

    6运行main函数 生成代码

    这里需要注意的生成的entity是数据库中的表的实体类  

    7 在controller中测试我们的整合结果

    然后运行项目    在浏览器输入对应的地址

    可见已经查询出来了    我们整合成功

     

    Processed: 0.030, SQL: 9