第一步

认识springboot :springboot是为了解决配置文件多,各个组件不统一的问题,它省去了很多配置文件,同时实现了spring产品的整合。

创建springboot项目:通过选择springinit初始化springboot,我们发现它的pom.xml拥有绝大部分的spring所需要的包。

第二步

打开项目的结构,发现有了有趣的部分

在原有的java结构上,公司名称下多了一级叫做自己的项目名的一个目录,这个目录下才是相应的Controlller等层,而且在此目录下面有了一个文件,此文件可以作为主函数的入口,相同的是再整合mybatis时,我们仍然将dao层改为Mapper层,而且这里只定义接口。

往下看,在resources的目录下,有com,lib,static,templates,views文件夹,以及一个springboot最为主要的一个配置文件。

介绍一下这些文件夹或者文件的作用:

com   下是和上面java下的目录结构一样,不多只有一个Mapper文件夹和一个config文件夹,mapper里放对应接口的xml文件来提供sql语句,config文件夹放的是修改过的mybatis-config.xml配置文件.

lib 里面放一些添加的jar包

static 里面放的是静

态的文件css,js,img之类

templates 未知...

views放我们的页面

第三步

导入jar包

我们只需要导入需要的jar包,关于spring产品的jar包springboot帮我们安排好了,我们大概需要这些jar包。

        <!--oracle jar包-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.1.0.6.</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/lib/ojdbc6-11.1.0.6..jar</systemPath>
</dependency>
<!--mysql jar包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.</version>
</dependency>
<!--springboot和mybatis结合的jar包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.</version>
</dependency>
<!--fastjson包-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.</version>
</dependency>
<!--springboot模板-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--日志-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.</version>
</dependency>
<!--使用不严格的页面标签-->
<!-- https://mvnrepository.com/artifact/net.sourceforge.nekohtml/nekohtml -->
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.</version>
</dependency>

配置配置文件

application.properties文件

#spring.datasource.platform=mysql
#spring.datasource.url=jdbc:mysql://localhost/mydb
#spring.datasource.username=root
#spring.datasource.password=hnqy
#spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.platform=oracle
spring.datasource.url=jdbc:oracle:thin:@localhost:/orcl
spring.datasource.username=scott
spring.datasource.password=tiger
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver server.port=
server.session-timeout=
server.tomcat.uri-encoding=UTF- #####springboot 整合 mybatis
mybatis.mapper-locations= classpath:/com/qy/springboot01/mapper/*Mapper.xml
mybatis.config-location= classpath:/com/qy/springboot01/mapper/config/mybatis-config.xml
#####定义别名
#####mybatis.type-aliases-package=com.qy.springboot01.domain #-----------------------日志------------------------------
#启用调试日志。
#debug = true
#启用跟踪日志。
#trace = true #LOGGING
#日志配置文件的位置。例如,Logback的`classpath:logback.xml`。
#logging.config =
#记录异常时使用的转换字。
#logging.exception-conversion-word =%wEx
#名称可以是确切的位置或相对于当前目录。
#logging.file = #?
#要保留的归档日志文件的最大数量。仅支持默认的登录设置。
#logging.file.max-history = 0
#最大日志文件大小。仅支持默认的登录设置。
#logging.file.max-size = 10MB
#日志级别严重性映射。例如`logging.level.org.springframework = DEBUG`。
#logging.level.* =
#日志文件的位置。例如,`/ var
#logging.path =
#-------------------------模板------------------------------
###Thymeleaf配置
spring.thymeleaf.prefix=classpath:/view/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode=LEGACYHTML5
###过滤中文乱码
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true

配置mybatis-config配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!--是否使用缓存 开发中禁用--> <setting name="cacheEnabled" value="false"/> <!--下划线和驼峰式命名法的匹配 --> <setting name="mapUnderscoreToCamelCase" value="true"/> <!--使用启用懒加载机制 true启用--> <setting name="lazyLoadingEnabled" value="true"/> <!--配置myabtis日志--> <setting name="logImpl" value="LOG4J2"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value=""/>
<setting name="defaultFetchSize" value=""/>
<setting name="safeRowBoundsEnabled" value="false"/>
<setting name="localCacheScope" value="SESSION"/>
<setting name="jdbcTypeForNull" value="OTHER"/>
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>
<typeAliases>
<!--给类起别名-->
<!--给包中所有的类起别名 默认名字为类名 -->
<package name=""></package>
</typeAliases>
</configuration>

第四步

一些细节

1.我们发现,controller层我们的mybatis需要@Controller

但是我们的springboot所需要的确是@Controller

2.service层注解没有变化

但在Mapper层我们要写上@Mapper和@conment两个注解

3.我们不需要tomcat,应为springboot内置了tomcat,而且启动的很快

4.在配置文件里的细节自己去深究吧。

5.这里只是简单的介绍,具体实操还需要自己去熟悉。

6.还有,config文件夹在mapper下面。。。

附上目录结构图

springboot整合mybatis+oracle的更多相关文章

  1. springBoot 整合 mybatis+Oracle

    现在比较流行的操作数据库操作层框架Mybatis,下面我们就来看看Springboot如何整合mybatis, 之前一直在用xml形式写sql,这次依然用xml的方式感觉这种还是比较灵活方便. 添加m ...

  2. SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)

    前言 通过上一章的学习,我们已经对SpringBoot有简单的入门,接下来我们深入学习一下SpringBoot,我们知道任何一个网站的数据大多数都是动态的,也就是说数据是从数据库提取出来的,而非静态数 ...

  3. springboot整合mybatis的时候报错Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

    今天闲来无事,学习springboot整合mybatis,在bilibili看视频学的,视频中在dao层的interface上面加上org.apache.ibatis.annotations.Mapp ...

  4. SpringBoot整合Mybatis关于分页查询的方法

    最近公司在用到SpringBoot整合Mybatis时当web端页面数据增多时需要使用分页查询以方便来展示数据.本人对分页查询进行了一些步骤的总结,希望能够帮助到有需要的博友.如有更好的方式,也希望评 ...

  5. SpringBoot整合Mybatis之项目结构、数据源

    已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

  6. SpringBoot整合Mybatis【非注解版】

    接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ​ 选择Spring Initializr,配置JDK版本 ​ 输入项目名 ​ 选择构建web项目所需的state ...

  7. SpringBoot整合Mybatis注解版---update出现org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1, param2]

    SpringBoot整合Mybatis注解版---update时出现的问题 问题描述: 1.sql建表语句 DROP TABLE IF EXISTS `department`; CREATE TABL ...

  8. springboot学习随笔(四):Springboot整合mybatis(含generator自动生成代码)

    这章我们将通过springboot整合mybatis来操作数据库 以下内容分为两部分,一部分主要介绍generator自动生成代码,生成model.dao层接口.dao接口对应的sql配置文件 第一部 ...

  9. springboot整合mybatis出现的一些问题

    springboot整合mybatis非常非常的简单,简直简单到发指.但是也有一些坑,这里我会详细的指出会遇到什么问题,并且这些配置的作用 整合mybatis,无疑需要mapper文件,实体类,dao ...

随机推荐

  1. A. Theatre Square(math)

    A. Theatre Square time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  2. SQL sum和group by HAVING

    Aggregate functions (like SUM) often need an added GROUP BY functionality. 集合函数(类似SUM)经常需要用GROUP BY来 ...

  3. zancun

    #include<iostream> #include<cstdio> using namespace std; ; int n; int avai[maxn], need[m ...

  4. tomcat8性能优化

    在tomcat/catalina.sh中加入下面的配置,内存要根据机器实际情况配置,如果配置内存太大了有可能机器很慢. JAVA_OPTS="-server -Xms512m -Xmx512 ...

  5. ReentranLock实现原理

    原文链接:https://blog.csdn.net/jeffleo/article/details/56677425 一.ReentranLock 相信我们都使用过ReentranLock,Reen ...

  6. POJ3050 -- Hopscotch 简单的dfs搜索

    原题链接:http://poj.org/problem?id=3050 (一些文字过会儿再说现在有事儿) #include <cstdio> #include <set> us ...

  7. angularJs分层服务开发

    //控制层 app.controller('brandController' ,function($scope,$controller ,brandService){ $controller('bas ...

  8. Qt 学习之路 2(13):对话框简介

    Qt 学习之路 2(13):对话框简介  豆子  2012年9月14日  Qt 学习之路 2  53条评论 对话框是 GUI 程序中不可或缺的组成部分.很多不能或者不适合放入主窗口的功能组件都必须放在 ...

  9. C语言ctype.h字符函数和字符串

    ctype.h存的是与字符相关的函数: 这些函数虽然不能处理整个字符串,但是可以处理字符串中的字符: ToUpper()函数,利用toupper()函数处理字符串中的每个字符,转换成大写: Punct ...

  10. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三)

    [checked 和 unchecked 基元类型操作] 1.第一种使用方式 UInt32 invalid = )); //OK,不会抛异常 Byte b = ; b = ));//抛出Overflo ...