IDEA搭建 SpringBoot + Druid + Oracle + Mybatis + lombok

这是 一个  基于 Maven  父工程下 搭建的 项目

一. 创建一个 Maven 父工程

二.创建一个 子工程 war 项目  进入正题

第三步.创建好项目之后 配置 指向maven库的 settings.xml 文件 配置库工具

  

四. 在 父工程下引入 jar 依赖  进行管理

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>boot-oracle-mybatis</groupId>
    <artifactId>boot-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>bom-test</module>
    </modules>
    <!--  下方 开始 依赖引入 请直接从  parent标签开始剪切 -->
    <parent>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot -->
        <!-- 引入 springboot的  parent 父依赖-->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    <!--  管理 jar 版本-->
    <properties>
        <boot.alibaba.druid>1.1.10</boot.alibaba.druid>
        <alibaba.fastjson>1.2.73</alibaba.fastjson>
        <oracle.version>12.1.0.2.0</oracle.version>
        <mysql>5.1.6</mysql>
        <boot.mybatis>1.3.2</boot.mybatis>
        <lombok>1.18.12</lombok>
        <log4j>2.12.1</log4j>
        <alibaba-fastjson.version>1.2.47</alibaba-fastjson.version>
        <commons.lang3>3.8.1</commons.lang3>
    </properties>


        <dependencies>
            <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
            <!-- druid 数据连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${boot.alibaba.druid}</version>
            </dependency>
            <!--oracle 用于连接Oracle数据库的依赖 Oracle的数据配置 -->
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc7</artifactId>
                <version>${oracle.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
            <!-- mysql数据库 -->
            <!--<dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql}</version>
            </dependency>-->
            <!-- mybatis  -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${boot.mybatis}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
            <!-- json转换 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${alibaba.fastjson}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
            <!-- lombok -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
            <!--  日志依赖-->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j}</version>
            </dependency>
            <!-- 阿里巴巴 JSON的格式 模型 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${alibaba-fastjson.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
            <!-- 工具类 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons.lang3}</version>
            </dependency>
        </dependencies>
    <!--  上方 结束 依赖引入   剪切截止到 dependencies标签 -->
</project>

oracle依赖 不宜下载 请使用 我的 oracle 依赖压缩包

链接:https://pan.baidu.com/s/13y49Vx5gcEVfILIF86MyTg 
提取码:3306 
复制这段内容后打开百度网盘手机App,操作更方便哦

解压到   maven 库 中的    com/下

以来下载完毕之后 请使用 

<dependencyManagement>标签 包住<dependencies> 标签内的所有依赖

五. 在子项目中 pom文件中引入 依赖

<dependencies>
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
    <!-- druid 数据连接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
    </dependency>
    <!--oracle 用于连接Oracle数据库的依赖 Oracle的数据配置 -->
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <!-- mysql数据库 -->
    <!--<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>-->   
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- mybatis  -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <!-- json转换 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <!-- lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <!--  日志依赖-->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
    </dependency>
    <!-- 阿里巴巴 JSON的格式 模型 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
    <!-- 工具类 -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
    </dependency>
</dependencies>

 

 

配置yml文件

名称为  application.yml

 

#设置端口
server:
  port: 9001

#设置spring名称
spring:
  application:
    name: boot-test
  #dev 为 开发环境
  profiles:
    active: dev
  #配置数据源
  datasource:
    # oracle 的
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@localhost:1521:ORCL   #这里是自己的oracle数据库
    username: PCQSON    #这里是自己的oracle数据库账号      PCQSON 是我自己的!!
    password: PCQSON    #这里是自己的oracle数据库密码      PCQSON 是我自己的!!
    # mysql 的 
#    type: com.alibaba.druid.pool.DruidDataSource
#    driver-class-name: com.mysql.jdbc.Driver
#      #这里是自己的mysql数据库
#    url: jdbc:mysql://127.0.0.1:3306/jlpcq?useUnicode=true&characterEncoding=utf8
#    username: root      #这里是自己的mysql数据库账号 root 是我自己的!!
#    password: 97972171  #这里是自己的mysql数据库账号 97972171 是我自己的!!

mybatis:
  #配置批量扫描
  mapper-locations: classpath*:mapper/*Mapper.xml
  #配置  打印 sql
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

六.创建 文件   命名为  mapper

创建包  com-->pcq-->test

创建启动类

我命名为  BootTestApplication 

 

package com.pcq.test;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication    //自动装配并表示这是主启动类
@MapperScan("com.pcq.test.*.mapper") //批量扫描  com.pcq.test.*.mapper 包下的所有mapper
public class BootTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootTestApplication.class,args);
    }

}

 

 

创建 实体类  并使用 lombok

package com.pcq.test.entity;

import lombok.*;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode(callSuper = false)
public class UserInfo implements Serializable {

    private Integer id;
    private String userName;
    private String passWord;

}

 

创建mapper  数据访问层

package com.pcq.test.mapper;

import com.pcq.test.entity.UserInfo;

import java.util.List;

public interface UserInfoMapper {

    /**
     * 查询 用户  测试
     *
     * @return
     */
    List<UserInfo> selectUserInfoList();

}

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE  mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.pcq.boot.mapper.UserInfoMapper">

    <sql id="userInfoColumn">ID,USERNAME,PASSWORD</sql>

    <select id="selectUserInfoList" resultType="com.pcq.boot.entity.UserInfo">
        SELECT
        <include refid="userInfoColumn"/>
        FROM USER_INFO
    </select>

</mapper>

 

 

创建 service 业务逻辑层 

 
package com.pcq.test.service;

import com.pcq.test.entity.UserInfo;

import java.util.List;

public interface UserInfoService {

    /**
     * 查询 用户  测试
     *
     * @return
     */
    List<UserInfo> selectUserInfoList();

}

 

 

package com.pcq.test.service.impl;

import com.pcq.test.entity.UserInfo;
import com.pcq.test.mapper.UserInfoMapper;
import com.pcq.test.service.UserInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@Slf4j
public class UserInfoServiceImpl implements UserInfoService {

    @Autowired
    private UserInfoMapper userInfoMapper;

    @Override
    public List<UserInfo> selectUserInfoList() {
        log.info("进入了 Service层的 selectUserInfoList()方法");
        return userInfoMapper.selectUserInfoList();
    }
}

 

 

创建 controller 控制层

package com.pcq.test.controller;

import com.pcq.test.entity.UserInfo;
import com.pcq.test.service.UserInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@Slf4j
public class UserInfoController {
    @Autowired
    private UserInfoService userInfoService;
    @Value("${server.port}")
    private String ports;

    @RequestMapping("/selectUserInfoList")
    public List<UserInfo> selectUserInfoList() {
        log.info("当前服务端口为 ===>{}", ports);
        List<UserInfo> userInfos = null;
        try {
            userInfos = userInfoService.selectUserInfoList();
        } catch (Exception e) {
            log.info("当前/selectUserInfoList方法异常 ===>{}", e);
        }
        return userInfos;
    }


}

 

 

启动服务测试接口  

我重新创建一下 demo 包 把这些 类包放入 demo 模块包下

 

重新启动并执行!

启动成功测试接口   http://127.0.0.1:9001/selectUserInfoList

(如果使用 mysql 的 话  可以直接注释掉  oracle的 以来 和 配置文件   然后打开 mysql的 依赖和配置)

搭建完毕  !!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值