SpringBoot入门系列(四)-------集成MyBatis

版权声明:原创 https://blog.csdn.net/rambler_designer/article/details/89035055

本文介绍SpringBoot如何集成MyBatis

相信查看这篇文章的你已经对SpringBoot和MyBatis有了一定的了解,那么我直接上干货了

首先在POM中导入相关依赖

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.21</version>
</dependency>

然后是application.properties文件的相关配置(只提供mybatis部分配置)

server.port=80

spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=你自己的账号
spring.datasource.password=你自己的密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

首先准备一个表我定义的user表,大家如果懒得自己写,就复制以下代码即可

--创建数据库
create database springboot;
--创建表
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `sex` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建实体类,和建的表相关联

package com.rambler.domain;

public class User {
    private int id;
    private String username;
    private String sex;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public User(String username, String sex) {
        this.username = username;
        this.sex = sex;
    }

    public User(){

    }
}

定义相关的Mapper

package com.rambler.mapper;

import com.rambler.domain.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper {

    @Select("select * from user where id = #{id}")
    User getUserById(@Param("id") int id);

    @Insert("insert into user(username,sex) values(#{username},#{sex})")
    void InsertUser(@Param("username")String username,@Param("sex")String sex);
}

这里只是演示效果,因此逻辑结构比较简单,因此省略了service层,直接将UserMapper注入Controller

package com.rambler.controller;

import com.rambler.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/Article")
public class ArticleController {

    @Autowired
    private UserMapper userMapper;

    public static void main(String[] args) {
        SpringApplication.run(ArticleController.class,args);
    }
    @RequestMapping("/getUser")
    public Object getUserById(Integer id){
        return userMapper.getUserById(id);
    }

    @RequestMapping("/insertUser")
    public void insertUser(String username,String sex){
        userMapper.InsertUser(username,sex);
    }
}

测试效果,没写具体页面,直接返回json,或者在数据库中查看效果即可,访问如下url

http://localhost/Article/insertUser?username=rambler&sex=fff

查看结果

猜你喜欢

转载自blog.csdn.net/rambler_designer/article/details/89035055