springboot配置Mybatis
阿新 • • 發佈:2020-08-03
我們將spring boot配置mybatis分為三步:
步驟一、配置pom檔案的依賴:
這邊主要是加兩個依賴:一個是springboot載入mybatis的起步依賴,一個是mysql的jdbc驅動包。如下:
<!--載入mybatis,整合springboot--> <!--這個依賴是mybatis提供的--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!--mysql的jdbc驅動包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
步驟二、配置application.properties檔案:
這部分主要是配置配置檔案,讓mysql可以順利的連線資料庫,配置如下:
#Mybatis的配置連線資料庫
spring.datasource.username=root
spring.datasource.password=123456
#載入jdbc驅動
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:15381/driver_manager
步驟三、寫程式碼:
這邊主要需要注意三點:
1、關於Mapper或者DAO,一定要在介面上加上@Mapper,如下:
@Mapper public interface DMMapper { DM selectById(@Param("id") int id); }
2、關於配置:一定要在application.properties裡面加上指引,以便於Mapper介面知道對應的查詢語句在哪兒!!!
#用來指定mapper位置。
mybatis.mapper-locations=classpath:mapper/*.xml
3、關於對應的資料庫查詢的XML檔案,一定要加上XML的頭指明這是一個mapper,同時加上<resultMap>來對應資料庫欄位和model裡面的欄位。如下:
<?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.kunkun.springboot.mapper.DMMapper"> <!--這邊其實是一個跟model中DM的一個對應,如果不新增的話,就會一直讀出空--> <resultMap id="BaseResultMap" type="com.kunkun.springboot.model.DM"> <result column="id" property="id" jdbcType="BIGINT" /> <result column="survey_rule_id" property="surveyRuleId" jdbcType="BIGINT" /> <result column="driver_no" property="driverNo" jdbcType="BIGINT" /> <result column="del_flag" property="delFlag" jdbcType="TINYINT" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> </resultMap> <sql id = "table"> dm_survey_driver_relation </sql> <select id="selectById" resultMap="BaseResultMap"> select * from dm_survey_driver_relation where id = #{id,jdbcType=BIGINT} </select> </mapper>