springboot项目集成mybatis

之间写过一篇 最全的Spring-Boot集成Mybatis-Plus教程

突然发现不会配置单纯的mybatis了,稍微折腾了一下

创建项目

创建springboot项目,只选择mybatis和mysql两个依赖
pom.xml

  
    org.springframework.boot
    spring-boot-starter
  
  
    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.1.1
  

  
    mysql
    mysql-connector-java
    runtime
  
  
    org.springframework.boot
    spring-boot-starter-test
    test
  

数据库配置

数据源配置

spring:
  datasource:
    url: jdbc:mysql://192.168.16.87:3306/pybbs?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: 123123

表结构及数据

CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表数据

INSERT INTO `user` (`id`, `username`)
VALUES
    (1, 'tomoya'),
    (2, '朋也');

实体类mapper

User.java

public class User {

  private Integer id;
  private String username;

  public Integer getId() {
    return id;
  }

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

  public String getUsername() {
    return username;
  }

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

  @Override
  public String toString() {
    return "User{" +
        "id=" + id +
        ", username='" + username + '\'' +
        '}';
  }
}

文链接原: https://tomoya92.github.io/2019/10/29/spring-boot-mybatis/

UserMapper.java

@Mapper
public interface UserMapper {

  // 注解方式查询
  @Select("select * from user;")
  List selectAll();

  // xml方式查询
  List selectAllWithXml();

}

UserMapper.xml 注意:这个xml文件我放在了 src/resources/mapper/UserMapper.xml



  
    
    
  

  
    select *
    from user;
  

最后配置启动时扫描 *Mapper.xml 文件
application.yml

mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml

测试

@SpringBootTest
public class MultipleDatasourceApplicationTests {

  @Autowired
  private UserMapper userMapper;

  @Test
  void contextLoads() {
    List users = userMapper.selectAll();
    for (User user : users) {
      System.out.println(user.toString());
    }

    System.out.println("=========================");

    List users1 = userMapper.selectAllWithXml();
    for (User user : users1) {
      System.out.println(user.toString());
    }
  }

}

运行结果

User{id=1, username='tomoya'}
User{id=2, username='朋也'}
=========================
User{id=1, username='tomoya'}
User{id=2, username='朋也'}

原文链接: