SpringBoot--Mybatis
阿新 • • 發佈:2020-07-02
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; } }