suchen
HeimJavajavaLernprogrammLeitfaden mit Konfigurationstipps für Spring Boot und MyBatis
Leitfaden mit Konfigurationstipps für Spring Boot und MyBatisFeb 23, 2024 pm 06:36 PM
mybatisKonfigurationspraxis

Spring Boot与MyBatis的配置实践指南

Konfigurationspraxisleitfaden für Spring Boot und MyBatis

Einführung:
Spring Boot ist ein schnelles Entwicklungsframework, das den Start- und Bereitstellungsprozess von Spring-Anwendungen vereinfacht. Und MyBatis ist ein beliebtes Persistenz-Framework, das problemlos mit verschiedenen relationalen Datenbanken interagieren kann. In diesem Artikel wird die Konfiguration und Verwendung von MyBatis in einem Spring Boot-Projekt vorgestellt und spezifische Codebeispiele bereitgestellt.

1. Abhängigkeiten einführen
In der Datei pom.xml die folgenden Abhängigkeiten hinzufügen:

<dependencies>
    <!-- Spring Boot Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>
    
    <!-- 数据库驱动(例如,MySQL)-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2. Konfigurieren Sie in der Datei application.properties Informationen zur Datenbankverbindung. Wenn Sie beispielsweise eine MySQL-Datenbank verwenden, können Sie die folgende Konfiguration hinzufügen:

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

2. Erstellen Sie eine Entitätsklasse application.properties 文件中,配置数据库连接信息。例如,如果使用MySQL数据库,可以添加以下配置:

public class User {
    private int id;
    private String name;
    private String email;
    // 省略 getters 和 setters
}

二、创建实体类
1.创建实体类
com.example.demo.entity 包中,创建一个名为 User 的实体类:

public interface UserMapper {
    List<User> getAllUsers();
    User getUserById(int id);
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}

2.创建Mapper接口
com.example.demo.mapper 包中,创建一个名为 UserMapper 的接口:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.demo.mapper.UserMapper">

    <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="email" property="email"/>
    </resultMap>

    <select id="getAllUsers" resultMap="BaseResultMap">
        SELECT * FROM user
    </select>
    
    <select id="getUserById" resultMap="BaseResultMap">
        SELECT * FROM user WHERE id=#{id}
    </select>
    
    <insert id="addUser">
        INSERT INTO user(name, email) VALUES (#{name}, #{email})
    </insert>
    
    <update id="updateUser">
        UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id}
    </update>
    
    <delete id="deleteUser">
        DELETE FROM user WHERE id=#{id}
    </delete>

</mapper>

三、创建Mapper XML文件
创建 UserMapper 对应的Mapper XML文件 UserMapper.xml ,并配置相应的SQL操作:

@Configuration
@MapperScan("com.example.demo.mapper")
public class MyBatisConfig {
}

四、配置MyBatis
1.创建配置类
com.example.demo.config 包中,创建一个名为 MyBatisConfig 的配置类:

# MyBatis
mybatis.mapper-locations=classpath*:com/example/demo/mapper/*.xml

2.完成配置
application.properties 文件中,添加以下配置:

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    
    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }
    
    public User getUserById(int id) {
        return userMapper.getUserById(id);
    }
    
    public void addUser(User user) {
        userMapper.addUser(user);
    }
    
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }
    
    public void deleteUser(int id) {
        userMapper.deleteUser(id);
    }
}

至此,我们已经完成了项目的配置和准备工作。接下来,我们将了解如何在Spring Boot项目中使用MyBatis。

五、使用MyBatis
1.编写业务逻辑
com.example.demo.service 包中,创建名为 UserService 的服务类:

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;
    
    @GetMapping("")
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
    
    @GetMapping("/{id}")
    public User getUserById(@PathVariable int id) {
        return userService.getUserById(id);
    }
    
    @PostMapping("")
    public void addUser(@RequestBody User user) {
        userService.addUser(user);
    }
    
    @PutMapping("/{id}")
    public void updateUser(@PathVariable int id, @RequestBody User user) {
        user.setId(id);
        userService.updateUser(user);
    }
    
    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable int id) {
        userService.deleteUser(id);
    }
}

2.创建控制器
com.example.demo.controller 包中,创建名为 UserController1. Erstellen Sie eine Entitätsklasse

Im com.example.demo.entity Paket, erstellen Sie eine Datei mit dem Namen User:

rrreee
2. Erstellen Sie eine Mapper-Schnittstelle

Erstellen Sie im Paket com.example.demo.mapper eine Schnittstelle mit dem Namen UserMapper Schnittstelle:
    rrreee
  • 3. Mapper-XML-Datei erstellen
  • Erstellen Sie UserMapper entsprechende Mapper-XML-Datei UserMapper.xml und konfigurieren Sie die entsprechende SQL-Operation:
  • rrreee
  • 4. Konfigurieren Sie MyBatis
  • 1. Erstellen Sie eine Konfigurationsklasse
  • Erstellen Sie im Paket com.example.demo.config eine Konfigurationsklasse mit dem Namen MyBatisConfig:
  • rrreee
  • 2. Vervollständigen Sie die Konfiguration
  • Fügen Sie in der Datei application.properties die folgende Konfiguration hinzu:
  • rrreee
An diesem Punkt haben wir die Konfiguration und Vorbereitung des Projekts abgeschlossen. Als nächstes lernen wir, wie man MyBatis in einem Spring Boot-Projekt verwendet.


5. Verwenden Sie MyBatis

1. Erstellen Sie im Paket com.example.demo.service eine Serviceklasse mit dem Namen UserService: 🎜rrreee🎜2. Erstellen Sie einen Controller🎜Erstellen Sie im Paket com.example.demo.controller eine Controller-Klasse mit dem Namen UserController: 🎜rrreee🎜3 Testen Sie die API🎜Starten Sie die Spring Boot-Anwendung. Besuchen Sie die folgende URL in Ihrem Browser, um die API zu testen: 🎜🎜🎜 Alle Benutzer abrufen: http://localhost:8080/users 🎜🎜 Einen einzelnen Benutzer erhalten: http://localhost:8080/users/{id}🎜 🎜 Benutzer hinzufügen: POST http://localhost:8080/users, der Anfragetext ist ein Benutzerobjekt im JSON-Format 🎜🎜Benutzer aktualisieren: PUT http://localhost:8080/users/{id}, der Anfragetext ist ein Benutzer im JSON-Format Objekt 🎜🎜Benutzer löschen: DELETE http://localhost:8080/users/{id}🎜🎜🎜Zusammenfassung: 🎜Dieser Artikel stellt die Konfigurationspraxismethode zur Verwendung von MyBatis im Spring Boot-Projekt vor und bietet spezifische Codebeispiele. Ich hoffe, dieser Artikel kann den Lesern helfen, die Kombination von Spring Boot und MyBatis schnell zu verstehen und zu nutzen, um Spring-Anwendungen effizienter zu entwickeln. 🎜

Das obige ist der detaillierte Inhalt vonLeitfaden mit Konfigurationstipps für Spring Boot und MyBatis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Java之Mybatis的二级缓存怎么使用Java之Mybatis的二级缓存怎么使用May 24, 2023 pm 06:16 PM

缓存的概述和分类概述缓存就是一块内存空间.保存临时数据为什么使用缓存将数据源(数据库或者文件)中的数据读取出来存放到缓存中,再次获取的时候,直接从缓存中获取,可以减少和数据库交互的次数,这样可以提升程序的性能!缓存的适用情况适用于缓存的:经常查询但不经常修改的(eg:省市,类别数据),数据的正确与否对最终结果影响不大的不适用缓存的:经常改变的数据,敏感数据(例如:股市的牌价,银行的汇率,银行卡里面的钱)等等MyBatis缓存类别一级缓存:它是sqlSession对象的缓存,自带的(不需要配置)不

怎么使用springboot+mybatis拦截器实现水平分表怎么使用springboot+mybatis拦截器实现水平分表May 14, 2023 pm 06:43 PM

MyBatis允许使用插件来拦截的方法Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setParameters)ResultSetHandler(handleResultSets,handleOutputParameters)StatementHandler(prepare,parameterize,ba

mybatis分页的几种方式mybatis分页的几种方式Jan 04, 2023 pm 04:23 PM

mybatis分页的方式:1、借助数组进行分页,首先查询出全部数据,然后再list中截取需要的部分。2、借助Sql语句进行分页,在sql语句后面添加limit分页语句即可。3、利用拦截器分页,通过拦截器给sql语句末尾加上limit语句来分页查询。4、利用RowBounds实现分页,需要一次获取所有符合条件的数据,然后在内存中对大数据进行操作即可实现分页效果。

mybatis怎么调用mysql存储过程并获取返回值mybatis怎么调用mysql存储过程并获取返回值May 27, 2023 am 09:01 AM

mybatis调用mysql存储过程并获取返回值1、mysql创建存储过程#结束符号默认;,delimiter$$语句表示结束符号变更为$$delimiter$$CREATEPROCEDURE`demo`(INinStrVARCHAR(100),outourStrVARCHAR(4000))BEGINSETourStr=&#39;01&#39;;if(inStr==&#39;02&#39;)thensetourStr=&#39;02&#39;;en

springboot怎么整合mybatis分页拦截器springboot怎么整合mybatis分页拦截器May 13, 2023 pm 04:31 PM

简介今天开发时想将自己写好的代码拿来优化,因为不想在开发服弄,怕搞坏了到时候GIT到生产服一大堆问题,然后把它分离到我轮子(工具)项目上,最后运行后发现我获取List的时候很卡至少10秒,我惊了平时也就我的正常版本是800ms左右(不要看它很久,因为数据量很大,也很正常。),前提是我也知道很慢,就等的确需要优化时,我在放出我优化的plus版本,回到10秒哪里,最开始我刚刚接到这个app项目时,在我用PageHelper.startPage(page,num);(分页),还没等查到的数据封装(Pa

springboot配置mybatis的sql执行超时时间怎么解决springboot配置mybatis的sql执行超时时间怎么解决May 15, 2023 pm 06:10 PM

当某些sql因为不知名原因堵塞时,为了不影响后台服务运行,想要给sql增加执行时间限制,超时后就抛异常,保证后台线程不会因为sql堵塞而堵塞。一、yml全局配置单数据源可以,多数据源时会失效二、java配置类配置成功抛出超时异常。importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;importorg.apache.

springboot怎么配置mybatis和事务管理springboot怎么配置mybatis和事务管理May 10, 2023 pm 07:13 PM

一、springboot与mybatis的配置1.首先,springboot配置mybatis需要的全部依赖如下:org.springframework.bootspring-boot-starter-parent1.5.1.RELEASEorg.springframework.bootspring-boot-starter-web1.5.1.RELEASEorg.mybatis.spring.bootmybatis-spring-boot-starter1.2.0com.oracleojdbc

PageHelper在springboot+mybatis框架中如何使用PageHelper在springboot+mybatis框架中如何使用May 12, 2023 pm 03:55 PM

一、思路将分页所需的内容都放到一个实体类中分页数据所需要的实体类!内包含页码,页大小,总条数,总页数,起始行pagehelpr提供了这个类pageInfo,不需要我们自己创建二、主要逻辑select*from表名limit起始行,展示几条数据#第n页每页展示五条数据select*from表名limit(n-1)*5,5#每页展示多少条pageSize3#总共有多少条totalselectcount(*)from表名#总页数pagespages=total%pagesSize==0?total/p

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version