使用IDEA搭建SpringBoot + MyBatis + Oracle项目

 

使用Idea搭建SpringBoot + MyBatis + Oracle项目

SpringBoot版本:1.5.9             

打开idea 首页选择创建一个新项目

选择Project SDK 即JDK安装的目录

初始服务URL 默认就好 因为是从官网获取模版

Next下一步

可以看到项目基本信息

Group即包名

Artifact 项目名

修改成我们自己的项目信息(项目名自定)

下一步 依赖库

选择web 下一步

确定项目名和项目存放位置后 finish即可

IDEA推荐一个项目一个project 和eclipse不同

Finish后 IDEA会自动帮我们load

成功打开后初始界面如下

和用STS和Eclipse创建的maven项目类似

.idea和.mvn可以理解为.classpath和.project 是

但多了俩个Application.java 此为SpringBoot应用启动的入口程序

resources用途与之前类似 用于存放一些配置信息

static:存放图片,css,js等

template:存放HTML页面

application:springboot的核心配置文件:数据库的连接信息等

完善目录结构

查看pom文件

pom.xml文件中默认有俩个依赖模块和一个插件

spring-boot-starter:核心模块 包括内嵌的Tomcat SpringMVC 等

spring-boot-test:测试模块 包括Junit等

因为在parent中我们配置里版本信息,所以以下所有子项目中相对应包中不需要再次配置版本号

添加我们要用到的MyBatis依赖

添加对Oracle & mysql数据的支持依赖

版本信息

编写配置文件

application.properties

配置Oracle的连接信息

 

在Entity包下创建一个实体类User

添加get和set方法 重写toString

 

在mapper下创建接口UserMapper

在Mapper中添加测试方法

创建UserMapper.xml文件 此处使用文件配置形式

编写mybatis基于配置文件的sql语句

编写完成后注意 此处Mapper.xml的放置位置和我们之前一样与mapper接口在同级目录下 不同

要放置在resources下 否则会报错找不到映射mapper

在Service包创建一个UserService接口及其实现UserServiceImpl

       UserService

      

UserServiceImpl 实现UserService中方法

使用Spring注入Mapper ,在Service中调用mapper

如图

 

 

按上图 选中实现类名→goto→Test

IDEA自动创建测试类 结构如下

 

编写测试类并使用Junit进行单元测试

调用userService

 

选中测试类Run

测试结果 全部通过

启动类运行

 

 

 

至此,使用IDEA构建SpringBoot+MyBatis+Oracle项目成功。

 

在idea中也可以直接连接数据库

选择Oracle作为数据源

 

填写连接信息 测试连接 Successful后确定即可

效果如图

选中表双击也可查看表中数据

也可以查看建表语句和表编辑

OpenConsole打开控制台即可编写SQL语句

关于SpringBootApplication导入时报无法解析问题:

经查阅得出解决方案

删掉 repository\org\springframework\boot 目录下的spring-boot-autoconfigure 文件夹然后maven → reimport即可

如遇同等错误信息 file→清楚缓存重启idea即可

在Service中使用注解@AutoWired注入Mapper时报

Could not autowire. No beans of 'UserMapper' type found错时

修改AutoWired的检测级别,将Severity的级别由之前的error改成warning即可

如图

 

关于测试报Mapper注入失败问题

确认在配置文件中的地址正确

Mapper注入的时候could not autowire解决

在mapper接口加一个注解。如下所示:
@Component(value = “userMapper”)

Public interface UserMapper{

}

猜你喜欢

转载自blog.csdn.net/bn_Seed/article/details/81188044