栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot实战教程(4)| 整合Mybatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot实战教程(4)| 整合Mybatis

        ​MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)

mybatis官网文档地址:http://mybatis.org/spring/zh/index.html

目录

一、初始化SpringBoot项目

二、引入依赖文件

三、创建数据库脚本

四、Demo源代码

(1)application.yml

(2)UserController.java

(3)UserDao.java

(4)SysUser.java

(5)UserService.java

(6)UserServiceImpl.java

(7)ResponseUtil.java

(8)SpringbootDemoMybatisApplication.java

五、程序运行结果

六、简单总结


一、初始化SpringBoot项目

二、引入依赖文件
 
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-web
            2.5.6
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        
        
        
            mysql
            mysql-connector-java
            5.1.27
        
        
        
            com.alibaba
            druid
            1.2.8
        
        
        
            com.alibaba
            fastjson
            1.2.78
        

三、创建数据库脚本

MySQL数据库脚本:


SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROp TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
  `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'admin', '123456', '男');

SET FOREIGN_KEY_CHECKS = 1;

四、Demo源代码

(1)application.yml
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot-mybatis
    username: root
    password: 123456

(2)UserController.java
package com.csdn.controller;

import com.csdn.entity.SysUser;
import com.csdn.service.UserService;
import com.csdn.util.ResponseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    
    @GetMapping("/{id}")
    public String users(@PathVariable("id") Integer id) {
        SysUser user = userService.selectUserById(1);
        return ResponseUtil.successJSonData(user);
    }
}

(3)UserDao.java
package com.csdn.dao;

import com.csdn.entity.SysUser;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

@Repository
public interface UserDao {
    
    @Select("select * from sys_user where id=#{id}")
    public SysUser selectUserById(Integer id);
}

(4)SysUser.java
package com.csdn.entity;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.io.Serializable;

@Data
public class SysUser implements Serializable {

    
    @JSonField(ordinal = 1)
    private Integer id;
    
    @JSonField(ordinal = 2)
    private String username;
    
    @JSonField(ordinal = 3)
    private String password;

    
    @JSonField(ordinal = 4)
    private String sex;
}

(5)UserService.java
package com.csdn.service;


import com.csdn.entity.SysUser;

public interface UserService {
    
    public SysUser selectUserById(Integer id);
}

(6)UserServiceImpl.java
package com.csdn.service.impl;

import com.csdn.dao.UserDao;
import com.csdn.entity.SysUser;
import com.csdn.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    
    public SysUser selectUserById(Integer id) {
        SysUser user = userDao.selectUserById(id);
        return user;
    }

}

(7)ResponseUtil.java
package com.csdn.util;


import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;


public class ResponseUtil extends JSonObject {

    
    public static String successJSonData(int code, String msg, Object data) {
        return toJSonString(new baseUtil(code, msg, data));
    }

    
    public static String successJSonData(String msg, Object data) {
        return toJSonString(new baseUtil(200, msg, data));
    }

    
    public static String successJSonData(Object data) {
        return toJSonString(new baseUtil(200, "请求成功", data));
    }

    
    public static String successJSonData() {
        return toJSonString(new baseUtil(200, "操作成功", null));
    }

    
    public static String errorJSonData(int code, String msg, Object data) {
        return toJSonString(new baseUtil(code, msg, data));
    }

    
    public static String errorJSonData(String msg, Object data) {
        return toJSonString(new baseUtil(500, msg, data));
    }

    
    public static String errorJSonData(int code, String msg) {
        return toJSonString(new baseUtil(code, msg, null));
    }

    
    public static String errorJSonData() {
        return toJSonString(new baseUtil(500, "系统异常,操作失败!", null));
    }

    
    public static String errorJSonData(String msg) {
        return toJSonString(new baseUtil(500, msg, null));
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class baseUtil implements Serializable {

        
        private int code;

        
        private String msg;

        
        private Object data;
    }
}

(8)SpringbootDemoMybatisApplication.java
package com.csdn;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.csdn.dao")
public class SpringbootDemoMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDemoMybatisApplication.class, args);
    }

}

五、程序运行结果

访问地址:http://localhost:8080/users/1

六、简单总结

本章教程只是简单的整合了一下mybatis,其实里面还有更多的配置参数,在这里没有做详细说明,需要了解更多相关资料可以前往mybatis官网文档查看。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571415.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号