1. 程式人生 > 實用技巧 >SpringBoot--Mybatis

SpringBoot--Mybatis

1. mybatis依賴

  在pom.xml新增

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

2. 資料庫驅動

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

3. 資料庫連線資訊

  在application.properties新增

#資料庫連線資訊
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testx?serverTimezone=UTC
&useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=123

4. 準備表、實體類、Mapper(dao)

(1)表

  

(2) 實體類

  com.xt.domain.Xxx

package com.xt.domain;

public class Person {
    private Integer id;
    private String firstName;
    private String lastName;
    ...getter setter...
}

(3)Mapper(dao)

package com.xt.mapper;

import com.xt.domain.Person;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface PersonMapper {
    List<Person> findAllPerson();

}

  @Mapper註解:表明這個是mybatis的一個mapper介面

5. 對映檔案

  resources/mapper

<?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.xt.mapper.PersonMapper">
    <resultMap type="com.xt.domain.Person" id="personMap">
        <id property="id" column="PersonId"/>
        <result property="firstName" column="FirstName"/>
        <result property="lastName" column="LastName"/>
    </resultMap>
    <select id="findAllPerson" resultMap="personMap">
        select * from person
    </select>

</mapper>

  在 application.properties新增配置:指定Mapper的位置(掃描生成代理物件Mapper)、對映檔案位置

#配置mybatis的資訊
#pojo掃描包
mybatis.type-aliases-package=com.xt.domain
#mybatis對映檔案
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

6. 測試

  com.xt.controller.XxxController

package com.xt.controller;

import com.xt.domain.Person;
import com.xt.mapper.PersonMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
public class TestMybatisController {
    @Autowired
    private PersonMapper personMapper;

    @RequestMapping("/queryPerson")
    @ResponseBody
    public List<Person> queryPersonList() {
        List<Person> list = personMapper.findAllPerson();
        return list;
    }
}