Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程

这几天题主自学maven和SpringBoot,一路填坑,决定写一篇教程帮大家防雷。

本此采用的环境是win10,JDK 1.8 , Intellij IDEA  2017.2.5,SpringBoot 2.0.X,Mybatis 1.3.2, Oracle xe,版本上要注意的就是SpringBoot2.0以后的好像只支持JDK1.8,题主用了1.7各种无法运行。

之前mavevn的本地仓库已经搭建好了。

下面是正式搭建和整合。

首先打开Intellij IDEA ,选择左上角的File->new->project

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第1张图片

在弹出的对话框上选择Spring Initializr ,选JDK版本1.8,点击next

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第2张图片

它会转一会儿,处理生成模板,接下来会填一些信息,比如组别(公司小组缩写),项目名称(项目名),类型(maven或者gradle项目),编程语言选择Java,项目打包(java项目选jar,web项目选war,题主建立的是web工程), javaVersion(选8),其他默认即可,如果有自定义需求自己添。点击next

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第3张图片

之后选择要加入的jar包,勾选后就不用再去后面的手动添加,Intellij IDEA会帮你自动填好。这里题主选择的是web工程

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第4张图片

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第5张图片

点击next后会再次让你填写project名称,这里默认,直接点击finish,如果有分组需要的小伙伴自行填写。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第6张图片

因为IntellIJ IDEA一个窗口对应一个项目,所以finish之后会弹出对话框问是在当前窗口打开还是新窗口打开,我选择了当前窗口。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第7张图片

稍等一会儿后会生成目录结构如下图,生成后打开测试类,见到这个运行按钮就是建好了。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第8张图片

之后我们检查一下,还缺两个依赖,我们打开pom.xml加进来,然后更新一下maven,或者右下角会提示,点击import change



	com.oracle
	ojdbc6
	1.1



	org.springframework.boot
	spring-boot-starter-tomcat
	compile

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第9张图片

然后可以在pom.xml中按住alt和insert,选择dependency,可以通过关键字选择jar包,和eclipse的maven插件使用一样,非常方便。

本地如果没有可以查看这个教程,下载中央仓库的jar到本地仓库如何下载maven仓库jar包到本地仓库-来自Pororo

配置IDEA使用本地maven仓库File->settings->搜索maven,更改后记得import change,刷新maven

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第10张图片

然后我们可以进行测试,点击测试类的绿色小三角

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第11张图片

测试成功后我们开始配置Oracle和mybatis环境。

先在application.propertise中添加数据源

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第12张图片

spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=hr
spring.datasource.password=hr
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
server.port=8989//这是更改tomcat默认端口

这里在写之前要配置包扫描,SpringBoot默认是会扫描Application入口类所在的包以及子包,从上到下。所以有时候会扫不到,还是配置上比较稳妥。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第13张图片


@SpringBootApplication(scanBasePackages = {"com.mybatis.demo1.controller","com.mybatis.demo1.service.impl"})
//要扫描的两个包controller和service
@EnableAutoConfiguration//此注释自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。
@MapperScan(basePackages = "com.mybatis.demo1.dao")//要扫描的dao包
public class Demo1Application {
	public static void main(String[] args) {
		SpringApplication.run(Demo1Application.class, args);
	}
}

接下来开始写POJO(实体类),DAO(Mapper),Service ,Controller,根据数据库字段来新建。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第14张图片

User.java

根据表结构的字段来建立POJO类,get/set方法,默认无参构造如果写构造一定要写无参构造。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第15张图片

package com.mybatis.demo1.entity;

public class User {
    private String username;
    private String password;

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

UserMapper.java

根据CURD写查询语句,这里采用注解方式,非必要情况不喜欢维护过多的xml。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第16张图片

public interface UserMapper {
    @Select("SELECT * FROM TEST_USER")
    public List selectAll();
}

UserService.java

调用dao,这里记得在serviceImpl上注入dao,可以从impl抽取接口UserService,也可以先写接口再实现。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第17张图片

@Service//标注给Spring识别位service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List getAllUser(){
        return userMapper.selectAll();
    }
}

UserController.java

控制层和springMVC或者Struts2没什么区别

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第18张图片

@Controller//声明控制类
public class UserController {
    @Autowired//自动注入
    private UserService userService;
    @RequestMapping("/getAllUser")//设置请求
    @ResponseBody//json返回
    public List getAllUser(){
        return userService.getAllUser();
    }
}
//第一行可以写 @Restcontroller(返回json的controller)
//@Restcontroller = @Controller + @ResponseBody

最后我们运行主入口类主方法(不是test类)上的绿色三角,浏览器访问设置的请求,查看结果。

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第19张图片

如果运行保错记得把tomcat的pom依赖改一下

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第20张图片

Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程_第21张图片

访问的时候直接访问RequestMapping的映射,不写项目名

访问结果:

看到这里你的项目搭建成功!有问题欢迎下方留言。

你可能感兴趣的:(心得笔记,springboot)