1. 程式人生 > >Spring Boot通過Mybatis,使用mapper介面和xml配置sql,連線資料庫

Spring Boot通過Mybatis,使用mapper介面和xml配置sql,連線資料庫

由於最早使用的是註解的方式來連線資料庫,所以比較簡單,後來發行做後臺的同事用的一般都是xml的形式,所以也跟著學習了下。發行mapper介面和xml配置sql,比較複雜,尤其是對我這種新手,研究了好久才配置成功。為了防止忘記,故寫下來,也給準備學習的人當參考資料。

這裡寫圖片描述

1.首先在配置檔案application.properties中,寫上相關的資訊

mybatis.typeAliasesPackage
mybatis.mapperLocations

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username
=*** spring.datasource.password=*** spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis.typeAliasesPackage:為實體物件所在的包,跟資料庫表一一對應 #mybatis.mapperLocations:mapper檔案的位置 mybatis.typeAliasesPackage=com.test.dailyreport.bean mybatis.mapperLocations=classpath:mybatis/mapper/*Mapper.xml #寫法不同,不過結果一樣 #mybatis.type-aliases-package=com.test.dailyreport.bean #mybatis.mapper-locations=classpath:mybatis/mapper/*Mapper.xml

2.在啟動類Application.java中寫上配置資訊

@SpringBootApplication
@MapperScan("com.test.dailyreport.dao") // mybatis掃描路徑,針對的是介面Mapper類
public class DailyreportApplication{

    public static void main(String[] args) {
        SpringApplication.run(DailyreportApplication.class, args);
    }
}

3.寫mapper.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" > <!--你介面的包名是com.abc.dao,介面名是NameMapper.java,那麼你的mapper.xml的namespace應該是com.abc.dao.NameMapper--> <mapper namespace="com.test.dailyreport.dao.UserMapper" > <!--resultMap對應的是表與實體類的對映 - type 資料庫表對應的實體類,別名或完整類名都可以--> <resultMap id="BaseResultMap" type="com.test.dailyreport.bean.UserBean" > <!-- 結果集的主鍵 --> <id column="id" property="id" jdbcType="INTEGER" /> <!-- 普通的列 -column 是資料庫中欄位, property是實體類中欄位--> <result column="token" property="token" jdbcType="VARCHAR" /> <result column="account" property="account" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> <result column="department" property="department" jdbcType="VARCHAR" /> <result column="user_name" property="name" jdbcType="VARCHAR" /> </resultMap> <!--parameterType(輸入型別)、resultType(輸出型別)--> <select id="loginByAccount" parameterType="String" resultMap="BaseResultMap" resultType="com.test.dailyreport.bean.UserBean"> SELECT * FROM USER_DETAIL WHERE account = #{account,jdbcType=VARCHAR} </select> </mapper>

4.本人是用gradle配置檔案的,如果沒有寫上依賴

compile('org.springframework.boot:spring-boot-starter-web')
compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1")
compile('mysql:mysql-connector-java')

maven沒有測試過,網上找了下

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

這樣就成功的使用mapper介面和xml配置sql