Mark3 項目記錄---0x02 整合mybatis

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


  • 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 添加以下兩行
# 實體類映射路徑
mybatis.type-aliases-package=com.m1.common.bean
#mapper的xml路徑
mybatis.mapper-locations=classpath:mapper/*.xml

生成mapper和xml

關于這一塊,有三種方式

  • 手撕xml
    顧名思義,初期學習或者特殊需求,可以這么做。手寫接口與傳入參數,寫sql,可以熟悉mybatis最核心的精髓,就是多了一點if,for等語句,trim等字符拼接,以及數據類型映射;按業(yè)務需求靈活控制SQL。

但是,有一位同事在做一個新的模塊,大約涉及到了20多張表,然后他哭了....
----每張表CRUD四個功能,有部分特別的業(yè)務要另寫sql

  • 生成器

機械化的東西,當然是要留給機器去做-------湯姆.貓

使用自動生成工具還有另一個好處,除了mapper,xml,實體類外,它會生成一個beanExample的類,用于查詢條件查詢,但是,最常用的分頁查詢卻沒有。所以用這個來解決 mybatis分頁插件

到這,springboot對原生mybatis3的操作就結束了。

額外加料,連接池

連接池有很多種,比較流行的有c3p0,dbcp,BoneCP,druid等,我必須選druid啊,因為熟悉


官方springBoot 配置點這里

但我配置的時候,遇到一個問題,阿里官方的1.0.29-SNAPSHOT這個版本的druid-spring-boot-starter maven中央倉庫依賴無法下載,后面我直接在maven倉庫,再從新找了一個

    <!-- 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,參數什么的,上面的鏈接就有說明

單元測試如下:

@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);
    }
}

項目地址
代碼下載

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容