1. 程式人生 > >SpringBoot+Mybatis(註解開發)整合例項

SpringBoot+Mybatis(註解開發)整合例項

新增依賴:pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId
>
gdou.laiminghai</groupId> <artifactId>springboot-mybatis-start</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot-mybatis-start</name> <description>Demo project for Spring Boot</description
>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

配置:application.yml

#執行埠
server:
  port: 8081

#資料來源配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/pre_worker?useUnicode=true&characterEncoding=utf8
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: mysql
#列印SQL語句 
logging:
  level:
      gdou.laiminghai.mapper: debug

資料庫及實體類:

資料庫表格:

CREATE TABLE t_user(
  id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255) ,
  password VARCHAR(255) ,
  phone VARCHAR(255)
)

實體類:

public class User {
    private Integer id;
    private String name;
    private String password;
    private String phone;
    //省略getter和setter方法
 }

Mapper編寫:UserMapper.java

@Mapper
public interface UserMapper {

    @Insert("INSERT INTO users2(NAME, PASSWORD, PHONE) VALUES(#{name}, #{password}, #{phone})")
    @Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")
    int insertByUser(User user);

    @Select("SELECT * FROM users2 WHERE PHONE = #{phone}")
    @Results(id = "userResult",value = {
            @Result(property = "id",column = "id"),
            @Result(property = "name",column = "name"),
            @Result(property = "password",column = "password"),
            @Result(property = "phone",column = "phone")
    })
    User findUserByPhone(@Param("phone") String phone);

    @Update("UPDATE users2 SET NAME = #{name}, PASSWORD = #{password} WHERE PHONE = #{phone}")
    void update(User user);

    @Delete("DELETE FROM users2 WHERE ID = #{id}")
    void delete(Integer id);

    @ResultMap("userResult")
    @Select("SELECT * FROM users2")
    List<User> findAll();
}

Controller編寫:UserController.java

@RestController
@RequestMapping("/user")
@SuppressWarnings("all")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @PostMapping("/")
    public User addUser(User user){
        userMapper.insertByUser(user);
        return user;
    }

    @GetMapping("/list/{phone}")
    public User findUserByPhone(@PathVariable("phone")String phone){
        return userMapper.findUserByPhone(phone);
    }

    @PatchMapping("/")
    public User updateUser(User user){
        userMapper.update(user);
        return userMapper.findUserByPhone(user.getPhone());
    }

    @DeleteMapping("/")
    public int deleteUser(int id){
        userMapper.delete(id);
        return id;
    }

    @GetMapping("/list/all")
    public List<User> findAll(){
        return userMapper.findAll();
    }
}

測試可使用Postman測試。

相關推薦

SpringBoot+Mybatis註解開發整合例項

新增依賴:pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:

sprngboot整合Mybatis註解開發

官方說明:MyBatis-Spring-Boot-Starter will help you use MyBatis with Spring Boot 其實就是myBatis看spring boot這麼火熱,為了迎合springboot也開發出一套解決方案來湊湊熱鬧, my

企業分布式微服務雲SpringCloud SpringBoot mybatis 二十整合 beatlsql

方法 wid min pos suffix put art 快速 dex 整合階段 由於springboot沒有對 beatlsql的快速啟動裝配,所以需要我自己導入相關的bean,包括數據源,包掃描,事物管理器等。 在application加入以下代碼: @Bean(i

企業分布式微服務雲SpringCloud SpringBoot mybatis 二十三整合Redis

temp operation isa tid name 數據 .net 配置 enc 引入依賴: 在pom文件中添加redis依賴: <dependency> <groupId>org.springframework.boo

springboot學習筆記——整合mybatis註解方式

目錄 前言: 開發環境: 專案結構: 配置檔案:           資料庫表: 開始開發: 測試: 總結: 前言:           這一篇博文的延續上一篇的。只是使用mybatis的註解形式。相對來說註解形式和xml形式是

簡單快速的用SpringBoot整合myBatis註解+xml

跟著上一篇的節奏我們繼續,SpringBoot整合myBatis的兩種方式:1)註解,2)xml。 首先,我們先來看第一種方式:註解……. 第一步,先引入Springboot整合mybatis,JDBC,mysql的Jar檔案..

Spring Boot快速入門:使用MyBatis註解形式進行數據庫操作

訪問 ins name ont clas assert xxx main apach 原文地址:https://lierabbit.cn/articles/7 添加依賴 新建項目選擇web,MyBatis,MySQL三個依賴 對於已存在的項目可以在bulid.gradle

企業分布式微服務雲SpringCloud SpringBoot mybatis 十六Spring Boot中使用LDAP來統一管理用戶信息

數據庫表 repo on() intellij attr ads get 可選 mail LDAP簡介 LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系

企業分布式微服務雲SpringCloud SpringBoot mybatis 十八springboot在啟動時註入了哪些bean

contex 測試 gree names system com clas temp ice 在程序入口加入: @SpringBootApplication public class SpringbootFirstApplication { public stat

企業分布式微服務雲SpringCloud SpringBoot mybatis 三十關於spring boot集成apidoc

用戶 osc height 註釋 success string 官方文檔 strong pass apidoc是基於註釋來生成文檔的,它不基於任何框架,而且支持大多數編程語言,為了springboot系列的完整性,所以標了個題。 一、apidoc簡介 apidoc通過在你代

Mybatis快速開發:generatorSqlMapCustom

mybatis提供一種反向生成工具,在實際的專案開發中能夠快速的開發,後端人員只要知道資料庫表的情況下,就可以反向生成DAO層與之對應的mapper對映程式碼檔案。 1:反向生成所需架包 核心架包:mybatis-generator-core-1.3.2.jar,依靠此架包進行反向

Spring Boot快速入門:使用MyBatis註解形式進行資料庫操作

新增依賴 新建專案選擇web,MyBatis,MySQL三個依賴 對於已存在的專案可以在bulid.gradle加入,spring boot將會幫你自動配置好 compile('org.springframework.boot:spring-boot-sta

企業分散式微服務雲SpringCloud SpringBoot mybatis 十六Spring Boot中使用LDAP來統一管理使用者資訊

LDAP簡介LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的資訊服務。目錄服務是一種特殊的資料庫系統,其專門針對讀取,瀏覽和搜尋操作進行了特定的優化。目錄一般用來包含描述性的,基於屬性的資訊並

springboot乾貨——二十整合rocketmq

本篇主要講springboot如何整合rocketmq,具體的rocketmq相關知識可以檢視我的rocketmq相關專欄:RocketMQ菜鳥進化系列 1.專案結構 2.pom.xml 這邊主要是加入了mq的jar包 <dependency>  

企業分布式微服務雲SpringCloud SpringBoot mybatis 十二斷路器監控(Hystrix Dashboard)

dash blog sta line The cat fcm 圖形 微服務 在我的第四篇文章斷路器講述了如何使用斷路器,並簡單的介紹了下Hystrix Dashboard組件,這篇文章更加詳細的介紹Hystrix Dashboard。 一、Hystrix Dashboar

企業分布式微服務雲SpringCloud SpringBoot mybatis 十一docker部署spring cloud項目

rom 最新版本 ex18 後臺應用 批量 打包 分布式 tar png 一、docker簡介 Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)

SpringBoot系列十四整合郵件傳送服務及郵件傳送的幾種方式

**往期推薦** [SpringBoot系列(一)idea新建Springboot專案](https://www.cnblogs.com/swzx-1213/p/12345330.html) [SpringBoot系列(二)入門知識](https://www.cnblogs.com/swzx-1213/p

企業分布式微服務雲SpringCloud SpringBoot mybatis Spring Boot開發Web應用

我們 als rep .com inf 模型 uil java加密 min 靜態資源訪問 在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。 默認配置 Spring Boot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:

企業分布式微服務雲SpringCloud SpringBoot mybatis 十三Spring Boot整合MyBatis

ech 字段 osc 操作 with public assert 連接 ref Spring中整合MyBatis就不多說了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步驟。搜了一下Spring Boot整合MyBatis的文

Spring Boot 初級入門教程十八 —— 整合 MyBatis 另外一種開發方式

在前面兩篇文章《Spring Boot 初級入門教程(十五) —— 整合 MyBatis》和《Spring Boot 初級入門教程(十七) —— 通過 Oracle 資料庫測試已整合 MyBatis(附原始碼)》中,介紹瞭如何在 SpringBoot 中整合 MyBatis 以及通過 MySQL