SpringBoot集成MyBatis(iBatis)

最近也是在写安卓的登陆注册作业,需要一个后台,这样方便点,开始用的是SpringMVC+Hibernate。但再搭建完之后发现配置啥的都挺多,于是使用了SpringBoot+MyBatis。这里记录一下详细步骤。

1.首先需要创建一个spring boot项目。

首先New一个Module

之后下一步,之后设置项目名以及包名,Java版本选的8

下一步之后选择SpringWeb,因为需要通过url访问并且返回一些json数据,选择这个才行,它会帮我们自己拉去依赖。

之后下一步就行,到这里就成功创建了一个Springboot项目。
之后进入pom里面查看,里面有了springweb的起步依赖以及测试依赖。

2.添加依赖以及插件*

由于使用的是Mysql以及Mybatis,所以需要添加Mysql和mybatis的依赖。
添加如下依赖

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--MyBatis整合springboot起步依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency>

后面由于要使用插件生成实体bean以及mapper文件着一些,所以还需要在pom里面的插件添加如下代码。

          <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.6</version><configuration><!--允许移动生成的文件 --><verbose>true</verbose><!-- 是否覆盖 --><overwrite>false</overwrite><!-- 自动生成的配置 --><configurationFile>mybatis-generator.xml</configurationFile></configuration></plugin>

mybatis-generator.xml这个里面的文件需要自己写,在下面进行讲解。文件名也需要和下面的xml配置文件名称一样。

3.基本信息配置,之后在这个配置文件里面写连接数据库的信息。*

#连接数据库信息#时区注意配置
#MySQL6以上就要使用com.mysql.cj.jdbc,Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#这里是连接MySQL,端口号,springjdbc为数据库名,后面为一些基本配置,一般都需要。
spring.datasource.url=jdbc:mysql://localhost:3306/springjdbc?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
#下面是连接数据库的用户名和密码
spring.datasource.username=root
spring.datasource.password=niit1234

mybatis-generator.xml
由于这里面引用了配置文件,所以需要在项目根目录下面创建配置文件(Mybatis逆向工程文件)

这是里面的代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!--mysql 连接数据库jar 这里选择自己本地位置--><classPathEntrylocation="E:\java\springboot\mysql-connector-java-5.1.46.jar"/><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/springjdbc?serverTimezone=UTC" userId="root"password="niit1234"></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成PO类的位置,这个单独放         接口和xml要放在一个地方--><javaModelGenerator targetPackage="com.entity"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置如果maven工程只是单独的一个工程,targetProject="src/main/java"若果maven工程是分模块的工程,targetProject="所属模块的名称",例如:targetProject="ecps-manager-mapper",下同--><sqlMapGenerator targetPackage="com.mapper"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.mapper"targetProject="src/main/java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!-- 指定数据库表  多个表,可用多个table标签--><table tableName="android_user" domainObjectName="user"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table></context>
</generatorConfiguration>

这里面需要注意填写的是:Url以及用户名和密码,还需要mysql的jar包位置,还有实体bean,mapper和mapper.xml的位置。需要注意的是,最好将mapper和mapper.xml放在一起,这样不会出错。
如果想要将mapper.xml放在其他地方,需要在application.properties文件里面书写mybatis.config-location,在这里面填入mapper.xml存放的位置。(个人呢建议放一起,看个人习惯吧)

对配置文件的讲解在里面比较详细了,这里面需要仔细填写相关的内容。

例如这个对一个表的配置,表名为android_user,生成的实体类名为user

4.利用插件生成对应的实体类和mapper文件。*

找到右侧maven管理工具

然后找到对应的插件,点击之后就会生成对应的文件了。

之后可以看到生成了对应的文件。

5.配置资源位置*

在生成文件之后,因为在使用注解的时候,会用到mapper.xml资源文件。但是它没有在resource中,所以我在pom里面添加了如下代码。将src/main/java也注册为资源文件,这样在扫描时就会找到它。因为添加了这个资源文件之后,原来的资源文件位置就会被取消,所以在这里也需要添加进去。

<resources><resource><filtering>true</filtering><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/*.*</include></includes></resource></resources>

大致思路以及步骤都已完成,接下来要实现的逻辑以及Controller这里就不在详细描述了,如果有问题的话可以联系作者。

SpringBoot集成MyBatis(iBatis)相关推荐

  1. springboot集成mybatis源码分析(一)

    springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...

  2. SpringBoot集成Mybatis用法笔记

    今天给大家整理SpringBoot集成Mybatis用法笔记.希望对大家能有所帮助! 搭建一个SpringBoot基础项目. 具体可以参考SpringBoot:搭建第一个Web程序 引入相关依赖 &l ...

  3. Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获

    mybatis有两种方式,一种是基于XML,一种是基于注解 springboot集成mybatis 首先先创建表,这里都简化了 DROP TABLE IF EXISTS `user`; CREATE ...

  4. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  5. SpringBoot教程(十一) | SpringBoot集成Mybatis

    上一篇文章我们介绍了SpringBoot集成JdbcTemplate.简单体验了一下JdbcTemplate框架的用法,今天的内容比较重要,我们来介绍一下SpringBoot集成Mybatis的步骤. ...

  6. Springboot 集成 mybatis 开启二级缓存(redis)

    首先来了解下mybatis 缓存,mybatis缓存分为一级缓存和二级缓存.一级缓存是默认开启的,无需其他配置操作,二级缓存则需要手动设置开启. 一级缓存原理: Mybatis的一级缓存是指同一个Sq ...

  7. SpringBoot----[16]—SpringBoot集成MyBatis

    SpringBoot----[16]-SpringBoot集成MyBatis 集成Mybatis 新建maven project 新建一个maven project,取名为:spring-boot-m ...

  8. SpringBoot——SpringBoot集成MyBatis

    目录 1 SpringBoot集成MyBatis 1.1 准备工作 1.2 pom.xml文件 1.3 核心配置文件(application.properties) 1.4 GeneratorMapp ...

  9. SpringBoot集成Mybatis项目实操

    本文为<从零打造项目>系列第三篇文章,首发于个人网站. <从零打造项目>系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 ...

最新文章

  1. TensorFlow基本使用
  2. 微信创始人张小龙的创业故事
  3. 【项目管理】范围管理
  4. [zz]grep 命令的使用
  5. HTML+CSS+JS实现月球上行走的宇航员网页设计
  6. 使用PostgREST构建PostgreSQL数据库的REST风格API
  7. mysql5.7.28升级到5.7.29_MySQL升级5.7.29
  8. 智慧环卫管理系统解决方案
  9. 软件工程——软件维护
  10. channel is not opened.
  11. html怎样实现动态背景效果,利用jQuery实现动态背景特效
  12. windows bat更改系统时间 同步internet时间
  13. MYSQL、JDBC
  14. 解决VirtualBox安装Ubuntu时界面显示不全问题
  15. Power Plug Categories A to Categories O
  16. Servlet的使用(2198)
  17. 校招秋招面经整理及复习规划
  18. 基于VUE的SSR技术-姜威-专题视频课程
  19. 交通银行上海分行信息部总经理吴宇:大数据助力”互联网+金融”发展
  20. 【2.Delphi语法基础】2.Object Pascal数据类型

热门文章

  1. 以太网PHY寄存器分析【转】
  2. 多窗口模式(multi-window mode)
  3. ArcGIS打印服务PrintingTools解决方案总结
  4. 中国口腔清洁用品市场竞争渠道与产销需求调研报告2022版
  5. flask mysql orm_Flask笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy...
  6. 教师节用python做个学生点名系统送老师,老师:真的谢谢你~
  7. 2021浙江温岭高考成绩查询,台州2021高考成绩排名榜单,台州各高中高考成绩喜报...
  8. 全屏9999朵玫瑰表白源码 易语言
  9. usb驱动程序初步编写
  10. 笔记本电池使用误区及正确保养