原文位址: http://www.work100.net/training/monolithic-frameworks-mybatis-with-spring.html 更多教程: 光束雲 - 免費課程
Spring 整合 MyBatis
序号 | 文内章節 | 視訊 |
---|---|---|
1 | POM | - |
2 | 建立MyBatis配置檔案 | |
3 | Spring內建MyBatis | |
4 | 執行個體源碼 |
請參照如上
章節導航
進行閱讀
1.POM
修改項目
iot-cloud-dependencies
下的
pom.xml
檔案,增加 MyBatis 相關依賴:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
主要增加了 3 個依賴,分别為:
- org.mybatis:mybatis
- org.mybatis:mybatis-spring
- org.springframework:spring-jdbc
同時在
iot-cloud-web-admin
項目的
pom.xml
檔案中引入依賴:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
2.建立MyBatis配置檔案
在項目
iot-cloud-web-admin
中的
src/main/resources
檔案夾下建立一個名為
mybatis-config.xml
的配置檔案,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 全局參數 -->
<settings>
<!-- 列印 SQL 語句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
<!-- 使全局的映射器啟用或禁用緩存。 -->
<setting name="cacheEnabled" value="false"/>
<!-- 全局啟用或禁用延遲加載。當禁用時,所有關聯對象都會即時加載。 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 當啟用時,有延遲加載屬性的對象在被調用時将會完全加載任意屬性。否則,每種屬性将會按需要加載。 -->
<setting name="aggressiveLazyLoading" value="true"/>
<!-- 是否允許單條 SQL 傳回多個資料集 (取決于驅動的相容性) default:true -->
<setting name="multipleResultSetsEnabled" value="true"/>
<!-- 是否可以使用列的别名 (取決于驅動的相容性) default:true -->
<setting name="useColumnLabel" value="true"/>
<!-- 允許 JDBC 生成主鍵。需要驅動器支援。如果設為了 true,這個設定将強制使用被生成的主鍵,有一些驅動器不相容不過仍然可以執行。 default:false -->
<setting name="useGeneratedKeys" value="false"/>
<!-- 指定 MyBatis 如何自動映射 資料基表的列 NONE:不映射 PARTIAL:部分 FULL:全部 -->
<setting name="autoMappingBehavior" value="PARTIAL"/>
<!-- 這是預設的執行類型 (SIMPLE: 簡單; REUSE: 執行器可能重複使用prepared statements語句;BATCH: 執行器可以重複執行語句和批量更新) -->
<setting name="defaultExecutorType" value="SIMPLE"/>
<!-- 使用駝峰命名法轉換字段。 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 設定本地緩存範圍 session:就會有資料的共享 statement:語句範圍 (這樣就不會有資料的共享 ) defalut:session -->
<setting name="localCacheScope" value="SESSION"/>
<!-- 設定 JDBC 類型為空時,某些驅動程式 要指定值, default:OTHER,插入空值時不需要指定類型 -->
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
</configuration>
3.Spring內建MyBatis
iot-cloud-web-admin
src/main/resources
spring-context-mybatis.xml
的 Spring 配置檔案,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 配置 SqlSession -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 用于配置對應實體類所在的包,多個 package 之間可以用 ',' 号分割 -->
<property name="typeAliasesPackage" value="com.funtl.my.shop.domain"/>
<!-- 用于配置對象關系映射配置檔案所在目錄 -->
<property name="mapperLocations" value="classpath:/mapper/**/*.xml"/>
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
</bean>
<!-- 掃描 Mapper -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.funtl.my.shop.web.admin.dao" />
</bean>
</beans>
然後,在
src/main/resources
檔案夾下建立一個
mapper
目錄,用于存放映射檔案。
4.執行個體源碼
執行個體源碼已經托管到如下位址:
- https://github.com/work100-net/training-stage2/tree/master/iot-cloud2 https://github.com/work100-net/training-stage2/tree/master/iot-cloud2
- https://gitee.com/work100-net/training-stage2/tree/master/iot-cloud2 https://gitee.com/work100-net/training-stage2/tree/master/iot-cloud2
上一篇:
Spring 整合 Druid下一篇:
MyBatis 對象關系映射如果對課程内容感興趣,可以掃碼關注我們的或
公衆号
,及時關注我們的課程更新
QQ群
