最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

MyBatis框架詳解—MyBatis框架快速入門

2021-03-22 16:21 作者:動(dòng)力節(jié)點(diǎn)小王本王  | 我要投稿



本篇文章主要內(nèi)容:

快速開(kāi)始一個(gè) MyBatis

基本CURD?的操作

MyBatis?內(nèi)部對(duì)象分析

使用Dao?對(duì)象

入門案例

  • MyBatis 開(kāi)發(fā)準(zhǔn)備

  • 搭建MyBatis 開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)第一個(gè)案例

使用Mybatis?準(zhǔn)備

下載 mybatis https://github.com/mybatis/mybatis-3/releases

搭建MyBatis?開(kāi)發(fā)環(huán)境

(1)?創(chuàng)建 mysql?數(shù)據(jù)庫(kù)和表

數(shù)據(jù)庫(kù)名 ssm ;表名student

?CREATE TABLE `student` (

? ? `id` int(11) NOT NULL ,

? ? `name` varchar(255) DEFAULT?NULL,

? ? `email` varchar(255) DEFAULT?NULL,

? ? `age` int(11) DEFAULT NULL,?

? ? PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

?(2)?創(chuàng)建 maven?工程

創(chuàng)建maven 工程,信息如下:

模板:

工程坐標(biāo):

(3)?刪除默認(rèn)創(chuàng)建的 App?類文件

(4)?加入 maven?坐標(biāo)

pom.xml 加入maven 坐標(biāo):

(5)?加入 maven?插件

(6)?編寫 Student?實(shí)體類

創(chuàng)建包 com.bjpowernode.domain, 包中創(chuàng)建Student 類

(7)?編寫 Dao?接口 StudentDao

(8)?編寫 Dao?接口 Mapper?映射文件 StudentDao.xml

要求:

1.?dao?包中創(chuàng)建文件StudentDao.xml

2.?StudentDao.xml?文件名稱和接口StudentDao?一樣,區(qū)分大小寫的一樣。

(9)?創(chuàng)建 MyBatis?主配置文件

項(xiàng)目src/main 下創(chuàng)建 resources 目錄,設(shè)置 resources 目錄為 resources root

創(chuàng)建主配置文件:名稱為mybatis.xml

說(shuō)明:主配置文件名稱是自定義的,內(nèi)容如下:

支持中文的url

jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8

(10)?創(chuàng)建測(cè)試類 MyBatisTest

src/test/java/com/bjpowernode/ 創(chuàng)建MyBatisTest.java 文件

(11)?配置日志功能

mybatis.xml 文件加入日志配置,可以在控制臺(tái)輸出執(zhí)行的sql 語(yǔ)句和參數(shù)

?insert?操作

(1)?StudentDao?接口中增加方法

int insertStudent(Student student);

(2)?StudentDao.xml?加入 sql?語(yǔ)句

(3)?增加測(cè)試方法

MyBatis?對(duì)象分析

對(duì)象使用

?SqlSession , SqlSessionFactory 等

(1)?Resources?類

Resources 類,顧名思義就是資源,用于讀取資源文件。其有很多方法通過(guò)加載并解析資源文件,返回不同類型的IO 流對(duì)象。

(2)?SqlSessionFactoryBuilder?類

SqlSessionFactory 的創(chuàng)建,需要使用 SqlSessionFactoryBuilder 對(duì)象的build()方法。由于 SqlSessionFactoryBuilder 對(duì)象在創(chuàng)建完工廠對(duì)象后,就完成了其歷史使命,即可被銷毀。所以,一般會(huì)將該 SqlSessionFactoryBuilder 對(duì)象創(chuàng)建為一個(gè)方法內(nèi)的局部對(duì)象,方法結(jié)束,對(duì)象銷毀。

(3)?SqlSessionFactory?接口

SqlSessionFactory?接口對(duì)象是一個(gè)重量級(jí)對(duì)象(系統(tǒng)開(kāi)銷大的對(duì)象),是線程安全的,所以一個(gè)應(yīng)用只需要一個(gè)該對(duì)象即可。創(chuàng)建 SqlSession?需要使用SqlSessionFactory?接口的的openSession()方法。

  • openSession(true):創(chuàng)建一個(gè)有自動(dòng)提交功能的 SqlSession

  • openSession(false):創(chuàng)建一個(gè)非自動(dòng)提交功能的 SqlSession,需手動(dòng)提交

  • openSession():同 openSession(false)

(4)?SqlSession?接口

SqlSession?接口對(duì)象用于執(zhí)行持久化操作。一個(gè) SqlSession?對(duì)應(yīng)著一次數(shù)據(jù)庫(kù)會(huì)話,一次會(huì)話以 SqlSession?對(duì)象的創(chuàng)建開(kāi)始,以 SqlSession?對(duì)象的關(guān)閉結(jié)束。

SqlSession 接口對(duì)象是線程不安全的,所以每次數(shù)據(jù)庫(kù)會(huì)話結(jié)束前,需要馬上調(diào)用其 close()方法,將其關(guān)閉。再次需要會(huì)話,再次創(chuàng)建。 SqlSession 在方法內(nèi)部創(chuàng)建,使用完畢后關(guān)閉。

?創(chuàng)建工具類

(1)?創(chuàng)建 MyBatisUtil?類

package com.bjpowernode.common;

(2)?使用 MyBatisUtil?類

MyBatis?使用傳統(tǒng) Dao?開(kāi)發(fā)方式

使用Dao 的實(shí)現(xiàn)類,操作數(shù)據(jù)庫(kù)

Dao?開(kāi)發(fā)

(1)?創(chuàng)建 Dao?接口實(shí)現(xiàn)類

public class StudentDaoImpl implements StudentDao

(2)?實(shí)現(xiàn)接口中 select?方法

測(cè)試查詢操作:

MyBatisTest 類中創(chuàng)建StudentDaoImpl 對(duì)象

(3)?實(shí)現(xiàn)接口中 insert?方法

測(cè)試insert

傳統(tǒng)Dao?開(kāi)發(fā)方式的分析

在前面例子中自定義Dao 接口實(shí)現(xiàn)類時(shí)發(fā)現(xiàn)一個(gè)問(wèn)題:Dao 的實(shí)現(xiàn)類其實(shí)并沒(méi)有干什么實(shí)質(zhì)性的工作,它僅僅就是通過(guò) SqlSession 的相關(guān) API 定位到映射文件mapper 中相應(yīng) id 的 SQL 語(yǔ)句,真正對(duì) DB 進(jìn)行操作的工作其實(shí)是由框架通過(guò)mapper 中的 SQL 完成的。

所以,MyBatis 框架就拋開(kāi)了Dao 的實(shí)現(xiàn)類,直接定位到映射文件mapper 中的相應(yīng) SQL 語(yǔ)句,對(duì)DB 進(jìn)行操作。這種對(duì)Dao 的實(shí)現(xiàn)方式稱為Mapper 的動(dòng)態(tài)代理方式。

Mapper 動(dòng)態(tài)代理方式無(wú)需程序員實(shí)現(xiàn)Dao 接口。接口是由 MyBatis 結(jié)合映射文件自動(dòng)生成的動(dòng)態(tài)代理實(shí)現(xiàn)的。


最后奉上視頻教程??,視頻觀看效果更佳!!走過(guò)路過(guò)別忘素質(zhì)三連哦~~



MyBatis框架詳解—MyBatis框架快速入門的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
徐汇区| 永清县| 湾仔区| 石林| 紫云| 龙胜| 青田县| 万安县| 天长市| 舞阳县| 阜新市| 汝州市| 吴旗县| 贵定县| 玉龙| 泊头市| 买车| 长春市| 石狮市| 乐至县| 孝义市| 井冈山市| 哈密市| 云南省| 丰顺县| 彩票| 时尚| 庆元县| 大悟县| 巴东县| 天水市| 鹿邑县| 铜陵市| 冀州市| 高邑县| 秦皇岛市| 沾化县| 高要市| 墨玉县| 菏泽市| 武强县|