search
HomeJavajavaTutorialHow to use Mybatis in springboot

springboot integrates Mybatis

Step one:

Add Mybatis dependency

<!--mybatis整合springboot框架的起步依赖-->
<dependency>
    <groupid>org.mybatis.spring.boot</groupid>
    <artifactid>mybatis-spring-boot-starter</artifactid>
    <version>2.0.0</version>
</dependency>

Step two:

Add mysql driver
The reason why there is no version number is because it inherits from the parent project. Of course, you can also specify a version number yourself

<!--添加mysql驱动-->
<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    <!-- 指定版本号 <version>5.1.9<version> -->
</dependency>

How to use Mybatis in springboot

Use the reverse engineering provided by Mybatis to generate entity beans, mapping files, and DAO interfaces

Step one:

Create the GeneratorMapper.xml file in the project root directory with the following configuration:

How to use Mybatis in springboot

<?xml  version="1.0" encoding="utf-8"?>
nbsp;generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorconfiguration>
    <!--指向连接数据库的 JDBC 驱动包所在位置,指定到你本机的完整路径-->
    <classpathentry></classpathentry>
    <!--配置table表信息内容体,targetRuntime 指定采用MyBatis3的版本-->
    <context>
        <commentgenerator>
            <property></property>
        </commentgenerator>
        <!--配置数据库连接信息-->
        <jdbcconnection>
        </jdbcconnection>
        <!--生成Model类,targetPackage指定model类的包名,
        targetProject指定生成的model类放在eclipse的哪个工程下边、-->
        <javamodelgenerator>
            <property></property>
            <property></property>
        </javamodelgenerator>
        <!--生成Mybatis的Mapper.xml 文件,targetPackage指定mapper.xml文件的包名,
        targetProject指定生成的mapper.xml放在eclipse的哪个工程下边-->
        <sqlmapgenerator>
            <property></property>
        </sqlmapgenerator>
        <!--生成Mybatis的Mapper接口类文件,targetPackage指定Mapper接口类的包名,
        targetProject指定生成的Mapper接口放在eclipse的哪个工程下边-->
        <javaclientgenerator>
            <property></property>
        </javaclientgenerator>
 
        <!--数据库表名及对应的Java模型类名
        有100张表,就需要指定100个table
        tableName:数据库中表的名字;
        domainObjectName:表对应生成的实体类的名字叫什么
        -->
        <table></table>
    </context>
</generatorconfiguration>

The second step
is configured as follows in pom.xml:

<!--在plugins标签中,添加如下代码-->
<!--mybatis 代码自动生成插件-->
<plugin>
    <groupid>org.mybatis.generator</groupid>
    <artifactid>mybatis-generator-maven-plugin</artifactid>
    <version>1.3.7</version>
    <dependencies>
        <dependency>
            <groupid>mysql</groupid>
            <artifactid>mysql-connector-java</artifactid>
            <version>8.0.15</version>
        </dependency>
    </dependencies>
    <configuration>
        <!--配置文件的位置-->
        <configurationfile>GeneratorMapper.xml</configurationfile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>

The third step
When double-clicking the following to execute,

How to use Mybatis in springboot

There is a pit here. Mine reported an error here. The error message is as follows:

Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7: generate (default-cli) on project sprint_boot_01: Communications link failure

How to use Mybatis in springboot

99% is because the connectionURL in the driver and configuration database information is configured incorrectly. My solution:

driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/java_pro?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false"

Then double-click to execute, success:

How to use Mybatis in springboot

The generated directory is as follows:

How to use Mybatis in springboot

The above is the detailed content of How to use Mybatis in springboot. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
JVM performance vs other languagesJVM performance vs other languagesMay 14, 2025 am 12:16 AM

JVM'sperformanceiscompetitivewithotherruntimes,offeringabalanceofspeed,safety,andproductivity.1)JVMusesJITcompilationfordynamicoptimizations.2)C offersnativeperformancebutlacksJVM'ssafetyfeatures.3)Pythonisslowerbuteasiertouse.4)JavaScript'sJITisles

Java Platform Independence: Examples of useJava Platform Independence: Examples of useMay 14, 2025 am 12:14 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunonanyplatformwithaJVM.1)Codeiscompiledintobytecode,notmachine-specificcode.2)BytecodeisinterpretedbytheJVM,enablingcross-platformexecution.3)Developersshouldtestacross

JVM Architecture: A Deep Dive into the Java Virtual MachineJVM Architecture: A Deep Dive into the Java Virtual MachineMay 14, 2025 am 12:12 AM

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

JVM: Is JVM related to the OS?JVM: Is JVM related to the OS?May 14, 2025 am 12:11 AM

JVMhasacloserelationshipwiththeOSasittranslatesJavabytecodeintomachine-specificinstructions,managesmemory,andhandlesgarbagecollection.ThisrelationshipallowsJavatorunonvariousOSenvironments,butitalsopresentschallengeslikedifferentJVMbehaviorsandOS-spe

Java: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceJava: Write Once, Run Anywhere (WORA) - A Deep Dive into Platform IndependenceMay 14, 2025 am 12:05 AM

Java implementation "write once, run everywhere" is compiled into bytecode and run on a Java virtual machine (JVM). 1) Write Java code and compile it into bytecode. 2) Bytecode runs on any platform with JVM installed. 3) Use Java native interface (JNI) to handle platform-specific functions. Despite challenges such as JVM consistency and the use of platform-specific libraries, WORA greatly improves development efficiency and deployment flexibility.

Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools