SpringBoot-MySQL(結合XML)
阿新 • • 發佈:2020-11-12
- 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進行載入,而可以直接定義方法