史上最全SpringBoot整合Mybatis案例
摘要:如果小编说,SpringBoot是目前为止最好的框架,应该没有人会反驳吧?它的出现使得我们很容易就能搭建一个新应用。那么,SpringBoot与其他第三方框架的整合必定是我们需要关注的重点。
开发环境:windows + idea + mysql + jdk1.8
一、构建SpringBoot项目
1.在idea创建一个新项目,利用Spring Initializer创建SpringBoot项目,其原理与Spring官网一致,所以必须联网。
2.引入mybatis-spring-boot-starter依赖,为了很好整合spring-boot,mybatis提供了mybatis-spring-boot-starter类库。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
3.构建项目结构,如图
二、重要的几个点
1.资源文件的编译
由于项目中*Mapper.xml文件是配置在代码区域中的,而xml文件一般属于资源文件不是代码,对于资源文件的处理,编译过程maven只会从源路径复制到指定的目标路径。所以需要在pom.xml文件作如下配置。
<resources>
<resource>
<!--directory,资源文件的路径,默认位于${basedir}/src/main/resources/目录下-->
<directory>src/main/java</directory>
<!--includes,一组文件名的匹配模式,被匹配的资源文件将被构建过程处理-->
<includes>
<include>**/*.xml</include>
</includes> <!--excludes:指定哪些文件被忽略,如果一个文件同时符合includes和excludes,则excludes生效;-->
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
<!--filtering,构建过程中是否对资源进行过滤,默认false-->
<filtering>false</filtering>
</resource>
</resources>
2.在pom.xml文件中指定资源文件路径,只能保证编译期间生成xml文件,spring不能知道映射文件的位置(因为映射文件和mapper接口不在同一包下,否则spring可以自动发现映射文件)。要想让spring发现xml配置,需要作如下配置:
mybatis:
mapper-locations: classpath:com/sensible/model/*Mapper.xml
史上最全SpringBoot整合Mybatis案例的更多相关文章
- SpringBoot整合Mybatis案例
SpringBoot整合Mybatis案例 2019/7/15以实习生身份入职公司前端做Angular ,但是感觉前途迷茫,于是乎学习一下Java的框架——SpringBooot. 参照大神博客:ht ...
- spring-boot整合Mybatis案例
1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 3.2.5 2.Maven Plugin管理 <?xml version="1.0&q ...
- Linux进程间通信(五) - 信号灯(史上最全)及其经典应用案例
信号灯概述 什么是信号灯 信号灯用来实现同步,用于多线程,多进程之间同步共享资源(临界资源). PV原语:信号灯使用PV原语 P原语操作的动作是: u sem减1. u sem减1后仍大于或等于零 ...
- 史上最全的整合第三方登录的工具JustAuth
JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy! 参考图例 授权gitee 授权github 授权weibo 授权钉 ...
- spring-boot整合Mybatis案例(注解方式)
1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 4.0.0 2.GITHUB地址 https://github.com/nbfujx/springBo ...
- SpringBoot整合Mybatis之Annotation
首先需要下载前面一篇文章的代码,在前一章代码上进行修改. SpringBoot整合Mybatis(注解方式) 复制前一个项目,修改配置文件,mybatis的相关配置为: mybatis: type-a ...
- SpringBoot面试题 (史上最全、持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Vue2.0史上最全入坑教程(下)—— 实战案例
书接上文 前言:经过前两节的学习,我们已经可以创建一个vue工程了.下面我们将一起来学习制作一个简单的实战案例. 说明:默认我们已经用vue-cli(vue脚手架或称前端自动化构建工具)创建好项目了 ...
- Redis分布式锁 (图解-秒懂-史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
随机推荐
- el-checkbox实现全选与单选
实现目的:实现全选与多选,点击确定的时候获取每个值的id传给后台 1.HTML <el-checkbox v-model="checkAll" @change="h ...
- node.js 安装方法 以及 用原声搭建服务器
node.js 安装方法: 第一步: 64位的安装包网址: https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi 第二步: 进入命令提示框 输入 ...
- ViewPager2 学习
ViewPager2 延迟加载数据 ViewPager2 延迟加载数据 ViewPager 实现预加载的方案 ViewPager2 实现预加载的方案 总结 ViewPager 实现预加载的方案 背景 ...
- 手写React的Fiber架构,深入理解其原理
熟悉React的朋友都知道,React支持jsx语法,我们可以直接将HTML代码写到JS中间,然后渲染到页面上,我们写的HTML如果有更新的话,React还有虚拟DOM的对比,只更新变化的部分,而不重 ...
- 5、struct2的支持ModelDriver获得参数
1.在以前的代码中我们我们需要获得jsp传递过来的参数我们采用下面的方式获得 package com.weiyuan.test; /** * struct2的action可以不继承任何框架的接口 * ...
- Python 简明教程 --- 5,Python 表达式与运算符
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...
- 入门大数据---Flume的搭建
一.下载并解压到指定目录 崇尚授人以渔的思想,我说给大家怎么下载就行了,就不直接放连接了,大家可以直接输入官网地址 http://flume.apache.org ,一般在官网的上方或者左边都会有Do ...
- MySQL高级用法
-- 关联查询-- select * from Goods_BomItems s,Goods_Bom t where t.GoodsBomId = s.GoodsBomId and t.GoodsBo ...
- 请写出在ASP.NET中常用的几种页面间传值的方法,并说出它们的特点。
QueryString 传递一个或多个安全性要求不高或是结构简单的数值.但是对于传递数组或对象的话,就不能用这个方法了 session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储 ...
- 个人对于flask中蓝图的理解
什么是蓝图? 蓝图可以理解为,是一种对项目中的代码进行模块化管理的工具,相当于python中的包为什么要使用蓝图? 在一个py文件中具有多个功能代码,不利于维护和管理. 如果在其他的模块中去调用视图函 ...