Spring Boot Mybatis 注解方式

Spring Boot Mybatis 注解方式

1、配置pom.xml,增加mybatis依赖。

<dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>1.3.2</version>
</dependency>

2、application.properties 添加数据库连接配置。

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3、启动类DemoApplication添加对mapper包扫描@MapperScan。

package com.idodo.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
@MapperScan("com.idodo.demo.mapper")
public class DemoApplication extends SpringBootServletInitializer {

  @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }
  
  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }
}

4、实体类User.java。

package com.idodo.demo.entity;

import java.io.Serializable;

public class User implements Serializable{

  private static final long serialVersionUID = 7914100053493869907L;
  
  private Integer user_id ;
  private String user_code ;
  private String user_name ;
  
  public User() {
  }

  public Integer getUser_id() {
    return user_id;
  }

  public void setUser_id(Integer user_id) {
    this.user_id = user_id;
  }

  public String getUser_code() {
    return user_code;
  }

  public void setUser_code(String user_code) {
    this.user_code = user_code;
  }

  public String getUser_name() {
    return user_name;
  }

  public void setUser_name(String user_name) {
    this.user_name = user_name;
  }
  
}

5、mapper文件配置UserMapper.java。

package com.idodo.demo.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.idodo.demo.entity.User;

public interface UserMapper {

  @Select("select * from app_users where user_id = #{user_id}")
  @Results({ @Result(property = "user_code", column = "user_code"),
      @Result(property = "user_name", column = "user_name") })
  User findUserById(Integer user_id);
  
  @Select("select * from app_users")
  @Results({ @Result(property = "user_code", column = "user_code"),
      @Result(property = "user_name", column = "user_name") })
  List<User> getUserList();

  @Insert("insert into app_users(user_code, user_name) values(#{user_code}, #{user_name})")
  void insert(User user);

  @Update("update app_users set user_code=#{user_code}, user_name=#{user_name} where user_id =#{user_id}")
  void update(User user);

  @Delete("delete FROM app_users where user_id =#{user_id}")
  void delete(Integer user_id);
}

6、控制类UserController.java。

package com.idodo.demo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.idodo.demo.entity.User;
import com.idodo.demo.mapper.UserMapper;
import com.idodo.demo.service.UserService;

@Controller
public class UserController {

  @Autowired
    private UserMapper userMapper;
  
  @RequestMapping("/test/{user_id}")
  public @ResponseBody User testUser(@PathVariable Integer user_id) {
    
    User user = userMapper.findUserById(user_id);
    System.out.println(user.getUser_code() + user.getUser_name());
    
    List<User> list = userMapper.getUserList();
    for (User u : list) {
      System.out.println(u.getUser_name());
    }
    
    User uu = new User();
    uu.setUser_id(1);
    uu.setUser_code("9001");
    uu.setUser_name("jzh");
    userMapper.update(uu);
    
    User vo = new User();
    vo.setUser_id(1);
    vo.setUser_code("9009");
    vo.setUser_name("jiangzhihao20181217");
    userMapper.insert(vo);
    
    return user;
  }
}

7、启动DemoApplication,访问测试。

http://localhost:8080/test/1

发表回复

您的电子邮箱地址不会被公开。