其實(shí),只要在創(chuàng)建工程那里,找到mybatis這個(gè)選項(xiàng),打上勾,或者說(shuō),后續(xù)在porm.xml,懟上以下的maven依賴(lài),然后,再在Application運(yùn)行類(lèi)上,再加上一個(gè)注解,用于掃描mapper包,整配置就結(jié)束了。
簡(jiǎn)單又粗暴,除此以外,沒(méi)有其他言語(yǔ)可以形容了

- Mark3Application.java
//basePackages 是mapper所在的包的路徑
@MapperScan(basePackages = "com.m1.dao.mapper")
@SpringBootApplication
public class Mark3Application {
public static void main(String[] args) {
SpringApplication.run(Mark3Application.class, args);
}
}
- porm.xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
- application.properties 添加以下兩行
# 實(shí)體類(lèi)映射路徑
mybatis.type-aliases-package=com.m1.common.bean
#mapper的xml路徑
mybatis.mapper-locations=classpath:mapper/*.xml
生成mapper和xml
關(guān)于這一塊,有三種方式
- 手撕xml
顧名思義,初期學(xué)習(xí)或者特殊需求,可以這么做。手寫(xiě)接口與傳入?yún)?shù),寫(xiě)sql,可以熟悉mybatis最核心的精髓,就是多了一點(diǎn)if,for等語(yǔ)句,trim等字符拼接,以及數(shù)據(jù)類(lèi)型映射;按業(yè)務(wù)需求靈活控制SQL。
但是,有一位同事在做一個(gè)新的模塊,大約涉及到了20多張表,然后他哭了....
----每張表CRUD四個(gè)功能,有部分特別的業(yè)務(wù)要另寫(xiě)sql
- 生成器
機(jī)械化的東西,當(dāng)然是要留給機(jī)器去做-------湯姆.貓
- 官方的MyBatis Generator
這個(gè)上面的鏈接有全中文教程 -
mybatis plugin
Intellij Idea的插件庫(kù)里可以下載
使用自動(dòng)生成工具還有另一個(gè)好處,除了mapper,xml,實(shí)體類(lèi)外,它會(huì)生成一個(gè)beanExample的類(lèi),用于查詢(xún)條件查詢(xún),但是,最常用的分頁(yè)查詢(xún)卻沒(méi)有。所以用這個(gè)來(lái)解決 mybatis分頁(yè)插件
- 注解
實(shí)在不想寫(xiě)xml,可以采用在接口mapper上寫(xiě)注解sql.
**
csdn亦山 Java Persistence with MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
**
到這,springboot對(duì)原生mybatis3的操作就結(jié)束了。
額外加料,連接池
連接池有很多種,比較流行的有c3p0,dbcp,BoneCP,druid等,我必須選druid啊,因?yàn)槭煜?/del>

官方springBoot 配置點(diǎn)這里
但我配置的時(shí)候,遇到一個(gè)問(wèn)題,阿里官方的1.0.29-SNAPSHOT這個(gè)版本的druid-spring-boot-starter maven中央倉(cāng)庫(kù)依賴(lài)無(wú)法下載,后面我直接在maven倉(cāng)庫(kù),再?gòu)男抡伊艘粋€(gè)
<!-- https://mvnrepository.com/artifact/com.cuisongliu/druid-spring-boot-starter -->
<dependency>
<groupId>com.cuisongliu</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.0.31.05</version>
</dependency>
隨后按照需求,自定義配置application.properties,參數(shù)什么的,上面的鏈接就有說(shuō)明
單元測(cè)試如下:
@RunWith(SpringRunner.class)
@SpringBootTest
public class Mark3ApplicationTests {
@Autowired
private TMemberMapper memberMapper;
@Test
public void TestQueryOneMember() {
TMember member = memberMapper.selectByPrimaryKey(2004521637939200L);
Assert.assertEquals(new Long(2004521637939200L), member.getMemberId());
System.out.println(member);
}
}