1. 程式人生 > 實用技巧 >SpringBoot-MySQL(結合XML)

SpringBoot-MySQL(結合XML)

  • XML檔案

在resource下面建立一個包,命名為mapper,再建立sring config檔案

<?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.Lee.connect.mapper.UserMapper">
    <select id="getUserById" resultType="com.Lee.connect.table.TableUser">
        SELECT 
* FROM t1 WHERE id=#{id} </select> </mapper>

注意頭部的兩個標籤,制定了xml的屬性資訊,是公用的

其次指定<mapper>標籤表示其為在mapper中使用的資訊,同時指定名稱空間namespace(就是在mapper中定義的類名)

在<mapper>內即包含了由sql語句命名的標籤,如<select>

在<select>中,需要指定id,即namespace中的類對應的方法名(此處就完成了XML檔案中sql語句和mapper檔案中類方法的連線)

同時也需要指定resultType,來表示返回值的型別,如果是自定的實體類,需要完成寫出,如com.Lee.connect.table.TableUser

此時在select標籤中就可以寫入相應的select語句,但仍要使用mapper中定義的變數

  • 屬性檔案
mybatis.mapper-locations=classpath:**/mapper/*.xml

作用是掃描Mapper介面對應的XML檔案,此處指的是resources下mapper位置對應的所有xml檔案

mybatis.typeAliasesPackage=com.Lee.connect.mapper

使用如上方法來指定專案中的mapper

logging.level.com.Lee.connect.mapper=debug

使用logging.level來對mapper的執行進行輸出

http請求呼叫了mapper,其會在idea控制檯輸出程式的執行資訊

  • mapper
package com.Lee.connect.mapper;

import com.Lee.connect.table.TableUser;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;

@Mapper
@Component(value = "UserMapper")
public interface UserMapper {
    //select
    TableUser getUserById(@Param("id") Integer id);

此時就可以不使用註解@Select進行載入,而可以直接定義方法