springboot整合mybatis+oracle
第一步
认识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的更多相关文章
- springBoot 整合 mybatis+Oracle
现在比较流行的操作数据库操作层框架Mybatis,下面我们就来看看Springboot如何整合mybatis, 之前一直在用xml形式写sql,这次依然用xml的方式感觉这种还是比较灵活方便. 添加m ...
- SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)
前言 通过上一章的学习,我们已经对SpringBoot有简单的入门,接下来我们深入学习一下SpringBoot,我们知道任何一个网站的数据大多数都是动态的,也就是说数据是从数据库提取出来的,而非静态数 ...
- springboot整合mybatis的时候报错Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
今天闲来无事,学习springboot整合mybatis,在bilibili看视频学的,视频中在dao层的interface上面加上org.apache.ibatis.annotations.Mapp ...
- SpringBoot整合Mybatis关于分页查询的方法
最近公司在用到SpringBoot整合Mybatis时当web端页面数据增多时需要使用分页查询以方便来展示数据.本人对分页查询进行了一些步骤的总结,希望能够帮助到有需要的博友.如有更好的方式,也希望评 ...
- SpringBoot整合Mybatis之项目结构、数据源
已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...
- SpringBoot整合Mybatis【非注解版】
接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 选择Spring Initializr,配置JDK版本 输入项目名 选择构建web项目所需的state ...
- 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 ...
- springboot学习随笔(四):Springboot整合mybatis(含generator自动生成代码)
这章我们将通过springboot整合mybatis来操作数据库 以下内容分为两部分,一部分主要介绍generator自动生成代码,生成model.dao层接口.dao接口对应的sql配置文件 第一部 ...
- springboot整合mybatis出现的一些问题
springboot整合mybatis非常非常的简单,简直简单到发指.但是也有一些坑,这里我会详细的指出会遇到什么问题,并且这些配置的作用 整合mybatis,无疑需要mapper文件,实体类,dao ...
随机推荐
- poj1681(枚举or高斯消元解mod2方程组)
题目链接: http://poj.org/problem?id=1681 题意: 有一个包含 n * n 个方格的正方形, w 表示其所在位置为白色, y 表示其所在位置为黄色. 对 (i, j) 位 ...
- JavaScript——原生js实现瀑布流
瀑布流介绍及实现原理: 瀑布流是一种页面布局,页面上也有多等宽的块(块就页面内容),每一块都是绝对定位(absolute),每个块排列的方式如下:寻找现在高度最小的列,把该块定位到该列下方.需要知道, ...
- t-sql read xlsx
How to Read and Load an Excel 2007 or Excel 2010 File Without Using Import/Export Utility To read an ...
- 关于STM32F407启动后的系统时钟频率问题
玩STM32的时间也比较久了,最早的一直玩的是STD标准库的103系列,但是ST公司也是“与时俱进”,舍弃了当年的标准库,转而推广HAL库,反正无论怎么样把,对于STM32的使用也仅仅停留在使用阶段, ...
- vue.js组件之j间的通讯四,通过单一事件来管理组件通讯
总结; 首先需要创建是一个空实例: var vm = new Vue(); vm.$emit(事件,数据); vm.$on(事件,function(data){ }bind(this))
- java的MAP接口方法
常用操作说明 void clear() 从此映射中移除所有映射关系(可选操作). boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true. b ...
- 树莓派使用 HLS 实现视频流直播
说明 这次介绍一下基于上一篇文章"树莓派编译安装 FFmpeg "的应用,即 HLS 视频流直播.原理是 FFmpeg 将 USB 摄像头的原始视频流压缩为 H.264 视频流,然 ...
- 3.数据校验和SpringEL
1.数据验证 数据验证不应该被限定在web层去处理,他应该在任何需要做数据验证的地方做验证: 基于以上考虑,Spring设计了一个既方便又可以在所有层使用的Validator接口 Spring提供了V ...
- 2.Servlet(一)
1.Servlet的编写.访问过程: (1)编写部署Servlet程序: 编写源文件->编译类文件->部署程序->运行->Servlet处理请求,返回响应. (2)Eclips ...
- jsonp跨域请求及本质
在html页面中,能实现跨域请求的是 第一: <script src="http://localhost:59602/JsonpTest.ashx?callBack=callBack& ...