SpringBoot整合Mybatis


這兒有人吖

1. 在pom.xml中添加Mybatis的起步依賴

<!--mybatis起步依賴-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
</dependency>

2. 配置數據庫連接

2.1 在pom.xml中添加mysql連接依賴

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2.2 在application.yml中添加配置數據庫連接

# DB Configurationspring:
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.208.131/springboot?useUnicode=true&characterEncoding=utf8
    username: root
    password: root

3. 編寫Mapper接口(例如在com.coco.dao目錄下)

public interface UserMapper {
    public List<User> queryUserList();
}

4. 添加Mapper接口掃描(不然啟動項目后,會找不到Mapper接口的)

4.1 mybatis注解形式開發

@Mapper    //或者在springboot的引導類上添加@MapperScan("com.coco.mapper")
public interface UserMapper {
    @Select("select * from user") 
    List<User> findList();
}
備注:
  @Mapper:標記該類是一個mybatis的Mapper接口,可以被spring boot自動掃描到spring上下文中。 
  @MapperScan("com.coco.mapper"): 指定Mapper位置,用來掃描Mapper。
  @Select:mybatis注解形式開發

 

4.2 mybatis mapper.xml文件形式開發:

在resource目錄中,建立Mapper接口相同目錄(com.coco.dao),並在該目錄創建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" >
<mapper namespace="com.coco.mapper.UserMapper">
    <select id="queryUserList" resultType="user">
        select * from user
    </select>
</mapper>

備注:

  如果mapper映射文件所在目錄與mapper接口目錄不同名,需要在application.yml中配置mybatis映射文件的位置,示例:

  mybatis:

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

 

5. 在springboot的配置文件application.yml中配置 pojo別名掃描包

mybatis:
  type-aliases-package: com.coco.pojo

備注:

  別名掃描包:默認別名是該類名和類名首字母小寫,在mapper映射文件中可以直接使用別名,而不用寫全路徑名。

6. 編寫測試Controller

@Controller
public class MapperController {
    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/queryUser")
    @ResponseBody
    public List<User> queryUser(){
        List<User> users = userMapper.queryUserList();
        return users;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM