IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot集成MyBatis(iBatis) -> 正文阅读

[Java知识库]SpringBoot集成MyBatis(iBatis)

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 generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--mysql 连接数据库jar 这里选择自己本地位置-->
    <classPathEntry
            location="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这里就不在详细描述了,如果有问题的话可以联系作者。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-02 13:25:12  更:2022-05-02 13:25:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:13:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码