基于SpringBoot 2.X整合MyBatis

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s524061267/article/details/85089296

SpingBoot 2.X 整合MyBatis

说明:本文旨在整理SpringBoot 2.X整合MyBatis基础功能,如有问题请指出


目录结构:
在这里插入图片描述

  1. 在pom.xml文件中引入MyBaties的依赖

楼主这里使用的是oracle驱动,如果你是用的是mysql,请使用下方注释掉的mysql驱动

       <!--  集成Mybatis所需依赖的包 -->
       <dependency>
           <groupId>org.mybatis.spring.boot</groupId>
           <artifactId>mybatis-spring-boot-starter</artifactId>
           <version>1.3.0</version>
       </dependency>
       <!--  如果你使用oracle,则添加以下oracle驱动 -->
       <dependency>
           <groupId>oracle</groupId>
           <artifactId>oracle-connector-java</artifactId>
           <version>10.0.1</version>
       </dependency>
       <!--  如果你使用mysql,则添加以下mysql驱动
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.25</version>
       </dependency> -->
  1. 配置application.yml文件

楼主这里使用的是application.yml的配置,你也可以尝试单独写一个mybatis的配置文件

#oracle数据库配置
spring:
  datasource:
    url: jdbc:oracle:thin:10.0.9.172  #数据库连接地址
    username: sly  #数据库用户名
    password: sly  #数据库密码
    driver-class-name: oracle.jdbc.driver.OracleDriver  #数据库连接驱动
    
#mybatis配置
mybatis:
  mapper-locations: mapper/*Mapper.xml   #maaper文件映射地址
  type-aliases-package: com.yihuacomputer.newyhcloud.server.entity  #指定mybatis映射的实体包,这里指定后在后面的userMapper.xml里面的resultType就直接可以写实体名User
  1. 编写UserMapper
@Mapper
public interface UserMapper {
  /**
   * @Description: Description
   * @Param:
   * @return: User
   * @Author: SLy
   * @date: 2018-12-15 18:05
   */
  public List<User> findAll();
}
  1. 配置userMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- namespace: 对应UserMapper.java文件,主要用于绑定对应的mapper接口,它的好处在于当使用了namespace之后就可以不用写接口实现类,业务逻辑会直接通过这个绑定寻找到相对应的SQL语句进行对应的数据处理
     id: UserMapper.java文件里对应的findAll()方法;
     resultType: 在application.yml里配置了type-aliases-package别名之后这里直接可以指定实体名,如果没有配置则需要全局包名
  -->
<mapper namespace="com.yihuacomputer.newyhcloud.server.mapper.UserMapper">
    <select id="findAll" resultType="User">
	   SELECT * FROM PUB_USER
    </select>
</mapper>
  1. 编写Service和ServiceImpl
public interface UserService {
    /**
     * @Description: 查询所有
     * @Param:
     * @return: User
     * @Author: SLy
     * @date: 2018-12-15 18:05
     */
    public List<User> findAll();
}

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }
}
  1. 编写Controller
@RestController
public class UserController {

  @Autowired
  private UserService userService;
  
  @RequestMapping("/userList")
  public List<User> findAll() {
      return userService.findAll();
  }

  1. 启动项目运行
    启动:http://localhost:8766/userList
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/s524061267/article/details/85089296