Spring Boot MyBatis-Plus 连接 Oracle 数据库 自动生成代码

IDEA 创建SpringBoot项目

项目创建移步 IDEA创建SpringBoot项目

添加依赖

 <!--MyBatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

        <!-- oracle驱动 -->
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.4</version>
        </dependency>

		<!--连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>

        <!--自动生成代码需要-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

        <!-- mybatis-plus-generator -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version>
        </dependency>

        <!-- velocity -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

编写配置文件及代码生成文件

我这里是放在test文件夹中,位置随意。记得修改其中项目文件生成地址和数据库配置信息。
在这里插入图片描述


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class CodeGenerator {

   public static void main(String[] args) {
       //1. 全局配置
       GlobalConfig config = new GlobalConfig();
//        String projectPath = System.getProperty("user.dir");
       // 是否支持AR模式
       config.setActiveRecord(true)
               // 设置作者
               .setAuthor("LZW")
               // 生成路径,最好使用绝对路径,window路径是不一样的 记得修改为自己的项目地址
               .setOutputDir("G:/myRepositories/oracledemo/oracledemo/src/main/java")
               /**
                *      // 项目路径
                *     .setOutputDir(projectPath + "/src/main/java");
                */

               // 生成后是否打开资源管理器
               .setOpen(false)
               // 重新生成文件后是否覆盖文件
               .setFileOverride(true)
               // 主键策略
               .setIdType(IdType.AUTO)
               //定义生成的实体类中日期类型
               .setDateType(DateType.ONLY_DATE)
               // 设置生成的service接口的名字的首字母是否为I,默认Service是以I开头的
               .setServiceName("%sService")
               //实体类结尾名称 如 UserVO
//                .setEntityName("VO")
               //生成基本的resultMap
               .setBaseResultMap(true)
               //不使用AR模式
               .setActiveRecord(false)
               // Swagger 2注解
               .setSwagger2(true)
               // 生成基本的SQL片段
               .setBaseColumnList(true);
       //2. 数据源配置
       DataSourceConfig dsConfig = new DataSourceConfig();
       // 设置数据库类型
       dsConfig.setDbType(DbType.ORACLE)
               // JDBC 驱动
               .setDriverName("oracle.jdbc.OracleDriver")
               // jdbc:oracle:thin:@ip地址(或者localhost):端口:数据库名
               .setUrl("jdbc:oracle:thin:@localhost:11521:RPTDB")
               // oracle 账号
               .setUsername("rpt")
               // oracle 密码
               .setPassword("rpt");
       //3. 策略配置globalConfiguration中
       StrategyConfig stConfig = new StrategyConfig();
       //全局大写命名
       stConfig.setCapitalMode(true)
               // 数据库表映射到实体的命名策略
               .setNaming(NamingStrategy.underline_to_camel)   // 下划线转驼峰命名  如 created_time  ---> createdTime
               // 【推荐】  命名方式不变化,与数据库名称保持一致,这样在Mapper.xml文件不需要单独修改字段名和实体属性名称之间的对应关系
//                .setNaming(NamingStrategy.no_change)
               //使用lombok
               .setEntityLombokModel(true)
               //使用 restcontroller 注解
               .setRestControllerStyle(true)
               // 生成的表, 支持多表一起生成,以数组形式填写
//                .setInclude("zqgk_study_admin", "zqgk_study_agents")
               .setInclude(new String[]{"APP_BD_STAFF"})
               // 去除表前缀
               .setTablePrefix("APP_BD_");

       //4. 包名策略配置
       PackageConfig pkConfig = new PackageConfig();
       pkConfig.setParent("com.lzw.oracledemo")
               // mapper层
               .setMapper("mapper")
               // service 层
               .setService("service")
               // controller 控制层
               .setController("controller")
               // 实体类包名  domain VO BO POJO...
               .setEntity("entity")
               // 生成 mapper.xml 模板文件
               .setXml("mapper.xml");
       //5. 整合配置
       AutoGenerator ag = new AutoGenerator();
       ag.setGlobalConfig(config)
               .setDataSource(dsConfig)
               .setStrategy(stConfig)
               .setPackageInfo(pkConfig);
       //6. 执行操作
       ag.execute();
       System.out.println("======= Done 相关代码生成完毕  ========");
   }

}

生成代码

执行完成后,会生成controller、service 等层的基础代码,将mapper文件移到resources目录下(位置可以通过配置文件自己指定)。如图。
在这里插入图片描述

编写代码,连接数据库,实现简单的业务接口

Mapper.xml文件

    <select id="getAllDatas" resultType="com.lzw.oracledemo.entity.Staff">
        select <include refid="Base_Column_List"/>
        from APP_BD_STAFF
    </select>

StaffMapper.interface

List<Staff> getAllDatas();

StaffService.interface

 List<Staff> getAllDatas();

StaffServiceImpl.java

    @Resource
    private StaffMapper staffMapper;

    @Override
    public List<Staff> getAllDatas() {
        return staffMapper.getAllDatas();
    }

StaffController.java

    @Resource
    private StaffService staffService;

    @GetMapping("getAllDatas")
    public List<Staff> getAllDatas() {
        List<Staff> staffList = staffService.getAllDatas();
        if (null == staffList || staffList.size() <= 0) {
            return null;
        }
        return staffList;
    }

请问接口

http://localhost:8089/staff/getAllDatas

在这里插入图片描述

至此,一个简单的Oracle项目完成。
完整项目地址:OracleDemo

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus 支持 Oracle 数据库,可以通过在 `application.properties` 或 `application.yml` 文件中配置相关属性来使用。下面是一个示例 `application.properties` 文件: ```properties # 数据源配置 spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver # MyBatis-Plus 配置 mybatis-plus.mapper-locations=classpath*:mapper/*.xml mybatis-plus.global-config.db-config.id-type=auto mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0 ``` 在上面的配置中,我们指定了 Oracle 数据库连接 URL、用户名、密码和驱动程序的类名。我们还指定了 MyBatis-Plus 的配置,包括映射文件的位置、主键生成策略、逻辑删除值和未删除值。 需要注意的是,如果你使用的是 `application.yml` 文件,那么配置内容应该如下所示: ```yaml # 数据源配置 spring: datasource: url: jdbc:oracle:thin:@localhost:1521:ORCL username: your_username password: your_password driver-class-name: oracle.jdbc.driver.OracleDriver # MyBatis-Plus 配置 mybatis-plus: mapper-locations: classpath*:mapper/*.xml global-config: db-config: id-type: auto logic-delete-value: '1' logic-not-delete-value: '0' ``` 无论你使用哪种方式,都应该把 Oracle 驱动程序和 MyBatis-Plus 添加到你的项目依赖中,例如: ```xml <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.2</version> </dependency> ``` 这样就完成了 MyBatis-PlusOracle 数据库的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值