好程序員Java學(xué)習(xí)路線分享MyBatis之基本使用,前言,本章我們將開始學(xué)習(xí)一個非常優(yōu)秀的ORM(對象關(guān)系映射)框架:MyBatis,它是目前企業(yè)中使用最多的數(shù)據(jù)庫框架。
站在用戶的角度思考問題,與客戶深入溝通,找到巴里坤哈薩克網(wǎng)站設(shè)計與巴里坤哈薩克網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋巴里坤哈薩克地區(qū)。
MyBatis簡介
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。
MyBatis的優(yōu)點有:
1)代替JDBC完成CRUD,效率高
2)上手容易,配置靈活
3)是目前公司主流的ORM(對象關(guān)系映射)框架
MyBatis的基本配置
這里我們使用Maven構(gòu)建項目,
首先需要導(dǎo)入MyBatis和MySQL驅(qū)動的依賴
然后再添加配置文件,MyBatis的配置文件分為兩種:
1、MyBatis框架的總體配置文件
2、MyBatis數(shù)據(jù)庫映射文件
MyBatis配置文件
我們可以在項目的resources目錄中添加配置文件:mybatis-config.xml
1.
2.3."http://mybatis.org/dtd/mybatis-3-config.dtd">
4.
5.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
映射文件
MyBatis能實現(xiàn)通過Java對象來操作數(shù)據(jù)庫,那么如何通過Java對象的操作來查詢和修改數(shù)據(jù)庫的表呢?MyBatis通過映射文件來配置數(shù)據(jù)的SQL操作,將Java對象的方法映射為具體的SQL語句。
這里我們先編寫一個UserDAO接口
26.package com.qianfeng.mybatis.dao;
27.public interface UserDAO
28.{
29.List
30.void insert(User user);
31.}
接下來我們來配置映射文件實現(xiàn)User表的查詢和插入操作:
在resources下創(chuàng)建mappers目錄,然后創(chuàng)建映射文件:userMapper.xml
32.
33.34.PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
35."http://mybatis.org/dtd/mybatis-3-mapper.dtd">
36.
37.
38....
39.
mapper中可以配置四種標簽:
1)
2)
3)
4)
select配置示例
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
returnMap配置的查詢語句返回的對象與數(shù)據(jù)庫表的映射,id是映射名,type是對應(yīng)的Java類型
其中子標簽id是配置表的主鍵,屬性id是Java類的屬性名,column是表的字段名,還有javaType和jdbcType屬性可以配置Java的類型和Jdbc數(shù)據(jù)類型,這兩個這里可以省略。
result是配置除主鍵外的一般列
MyBatis的使用方法
主要步驟:
56.1)讀取配置文件,創(chuàng)建SqlSessionFactory
57.SqlSessionFactory factory =
58.new SqlSessionFactoryBuilder().build(
59.Resources.getResourceAsStream("mybatis-config.xml"));
60.2)打開數(shù)據(jù)庫會話Session
61.SqlSession sqlSession = factory.openSession();
62.3)獲得DAO接口的代理對象
63.UserDAO mapper = sqlSession.getMapper(UserDAO.class);
64.4)執(zhí)行CRUD
65.mapper.insert(...);
66.5) 提交事務(wù)
67.sqlSession.commit();
68.6) 關(guān)閉會話
69.sqlSession.close();
總結(jié)
本章我們學(xué)習(xí)了MyBatis的基本配置,以及映射文件的寫法,也掌握了MyBatis的基本操作方法,MyBatis還有很多強大的特性,我們會在后面學(xué)習(xí)到。