日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
「MyBatis」對(duì)象存數(shù)據(jù)庫(mybatis保存對(duì)象到數(shù)據(jù)庫)

MyBatis是一種流行的Java持久化框架,它通過提供簡單的XML或注解配置方式,使得開發(fā)者能夠?qū)ava程序中的對(duì)象存儲(chǔ)到數(shù)據(jù)庫中。在本文中,我們將深入探討如何使用MyBatis將Java對(duì)象存儲(chǔ)到數(shù)據(jù)庫中。

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、平順網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

一. MyBatis簡介

MyBatis是一種開源持久化框架,它使得Java開發(fā)者能夠輕易地將Java對(duì)象存儲(chǔ)到數(shù)據(jù)庫中。MyBatis有一套靈活的映射機(jī)制,能夠通過簡單的XML或注解配置方式,將Java對(duì)象與數(shù)據(jù)庫表格之間進(jìn)行映射。

MyBatis的架構(gòu)中包含了以下核心組件:

1. SqlSession:這是執(zhí)行SQL語句的主要接口,通常是開發(fā)者與MyBatis交互的主要對(duì)象。

2. Configuration:這個(gè)組件用來解析XML或注解配置文件,并構(gòu)建出框架需要的組件。

3. Executor:這個(gè)組件在SqlSession中被使用,用來執(zhí)行SQL語句,并將結(jié)果映射到Java對(duì)象中。

4. Mapper:這個(gè)組件是開發(fā)者在配置文件中定義的接口,它提供了一套API來訪問數(shù)據(jù)庫。

二. 為什么選擇MyBatis

MyBatis是持久化框架的一個(gè)選擇,但為什么要選擇MyBatis呢?這是因?yàn)樗哂幸韵聝?yōu)點(diǎn):

1. MyBatis配置簡單:MyBatis可以使用簡單的XML或注解進(jìn)行配置,這使得開發(fā)人員能夠輕松地完成啟動(dòng)和配置工作。

2. MyBatis性能強(qiáng)大:MyBatis使用了高效的SQL執(zhí)行引擎和映射機(jī)制,為開發(fā)者提供了高效的數(shù)據(jù)庫訪問性能。

3. MyBatis易于維護(hù):MyBatis的配置文件易于管理,可以輕松解決針對(duì)不同數(shù)據(jù)庫的復(fù)雜性。

三. MyBatis對(duì)象映射

在MyBatis中,Java對(duì)象與數(shù)據(jù)庫表格的映射是通過配置文件來實(shí)現(xiàn)的。當(dāng)MyBatis被啟動(dòng)后,它會(huì)讀取配置文件中定義的相關(guān)信息,并自動(dòng)映射Java對(duì)象與數(shù)據(jù)庫表格之間的關(guān)系。這些配置數(shù)據(jù)可以包含在XML文件或Java注解中。

1. 通過XML文件定義映射

MyBatis XML映射文件包含了Java類和數(shù)據(jù)庫表之間的關(guān)系。下面是一段XML映射文件的示例:

SELECT *

FROM user

WHERE id = #{id}

INSERT INTO user (name, age, gender)

VALUES (#{name}, #{age}, #{gender})

UPDATE user

SET name = #{name},

age = #{age},

gender = #{gender}

WHERE id = #{id}

DELETE FROM user

WHERE id = #{id}

這個(gè)XML文件定義了一個(gè)名為UserDao的Mapper,并定義了一個(gè)名為selectUserById的查詢語句。此外還定義了一些名為insertUser、updateUser和deleteUserById的增刪改語句,它們分別用來向數(shù)據(jù)庫添加用戶、更新用戶和刪除用戶。

2. 通過Java注解定義映射

除了XML文件外,MyBatis還支持使用Java注解的方式來定義映射。下面是一個(gè)使用注解來定義映射的示例:

public interface UserDao {

@Select(“SELECT * FROM user WHERE id = #{id}”)

User selectUserById(@Param(“id”) Long id);

@Insert(“INSERT INTO user (name, age, gender) VALUES (#{name}, #{age}, #{gender})”)

void insertUser(User user);

@Update(“UPDATE user SET name = #{name}, age = #{age}, gender = #{gender} WHERE id = #{id}”)

void updateUser(User user);

@Delete(“DELETE FROM user WHERE id = #{id}”)

void deleteUserById(@Param(“id”) Long id);

}

這段代碼在接口UserDao中為Java方法添加了輔助注解。這些注解提供了一種簡單、快速的方式來定義數(shù)據(jù)庫操作。例如,@Select注解定義了一個(gè)SELECT語句,而@Insert、@Update和@Delete注解分別定義了增、刪、改操作。

四. MyBatis對(duì)象映射配置實(shí)戰(zhàn)

現(xiàn)在我們已經(jīng)了解了MyBatis是如何定義對(duì)象映射的,接下來將介紹如何使用MyBatis將Java對(duì)象存儲(chǔ)到數(shù)據(jù)庫中。

1. 添加依賴

在項(xiàng)目中使用MyBatis時(shí),需要使用以下依賴:

org.mybatis

mybatis

3.5.7

mysql

mysql-connector-java

8.0.26

注意:這里使用的是MySQL數(shù)據(jù)庫和對(duì)應(yīng)的驅(qū)動(dòng)包。

2. 配置文件

在項(xiàng)目的resources文件夾中,需要添加一個(gè)名為mybatis-config.xml的配置文件,這個(gè)文件定義了MyBatis的配置信息。

這個(gè)配置文件中定義了數(shù)據(jù)源和事務(wù)管理器。其中數(shù)據(jù)源是使用的是MyBatis內(nèi)置的數(shù)據(jù)源,并指定了MySQL數(shù)據(jù)庫的連接信息。還定義了mappers組件,用來映射Java對(duì)象與數(shù)據(jù)庫表之間的關(guān)系。這里將使用一個(gè)名為UserDao.xml的XML文件來進(jìn)行定義。

3. 定義實(shí)體類

這是Java中定義的用戶實(shí)體類:

public class User {

private Long id;

private String name;

private Integer age;

private String gender;

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

}

4. 定義Mapper

這里定義一個(gè)名為UserDao的Mapper接口,它用來映射Java對(duì)象與數(shù)據(jù)庫表之間的關(guān)系。

select

id, name, age, gender

from

user

where id = #{id}

insert into user (name, age, gender) values (#{name}, #{age}, #{gender})

這個(gè)XML文件定義了一個(gè)名為UserDao的Mapper,并定義了一個(gè)名為selectUserById的查詢語句,和一個(gè)名為insertUser的插入語句。

5. 實(shí)現(xiàn)代碼

下面是實(shí)現(xiàn)代碼:

@Test

public void testInsert() throws SQLException {

String resource = “mybatis-config.xml”;

InputStream inputStream = Resources.getResourceAsStream(resource);

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

SqlSession sqlSession = sqlSessionFactory.openSession();

UserDao userDao = sqlSession.getMapper(UserDao.class);

User user = new User();

user.setName(“zhangsan”);

user.setAge(18);

user.setGender(“male”);

userDao.insertUser(user);

sqlSession.commit();

sqlSession.close();

}

6. 運(yùn)行測試

運(yùn)行測試,可以看到在數(shù)據(jù)庫中插入了一條數(shù)據(jù)。

MyBatis是一種非常好用的Java持久化框架,可以將Java對(duì)象映射到數(shù)據(jù)庫表格中。配置簡單、性能強(qiáng)勁、易于維護(hù)是 MyBatis 的優(yōu)點(diǎn)之一,使用 MyBatis 進(jìn)行持久化,將會(huì)給開發(fā)者們帶來強(qiáng)大的便利。

相關(guān)問題拓展閱讀:

  • mybatis工作原理及為什么要用

mybatis工作原理及為什么要用

一、mybatis的工作原理:

MyBatis 是支持普通 SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。

MyBatis使用簡單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫中的記錄。

每個(gè)MyBatis應(yīng)用程序主要都是使用SqlSessionFactory實(shí)例的,一個(gè)SqlSessionFactory實(shí)例可以通過SqlSessionFactoryBuilder獲得。用xml文件構(gòu)建SqlSessionFactory實(shí)例是非常簡單的事情。

推薦在這個(gè)配置中使用類路徑資源,但可以使用任何Reader實(shí)例,包括用文件路徑或

二、使用mybatis的原因:因?yàn)閙ybatis具有許多的優(yōu)點(diǎn),具體如下:

1、簡單易學(xué):本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個(gè)jar文件+配置幾個(gè)sql映射文件易于學(xué)習(xí),易于使用,通過文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。

2、靈活:mybatis不會(huì)對(duì)應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計(jì)強(qiáng)加任何影響。 sql寫在xml里,便于統(tǒng)一管理和優(yōu)化。通過sql語句可以滿足操作數(shù)據(jù)庫的所有需求頌裂返。

3、解除sql與程序代碼的耦源升合:通過提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,使系統(tǒng)的設(shè)計(jì)更清晰,更易維護(hù),更易單元測試。sql和代碼的分離,提高了可維護(hù)性。

4、提供映射標(biāo)簽,支持對(duì)象與數(shù)據(jù)庫的orm字段關(guān)系映射。

5、提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)。

6、提供xml標(biāo)簽,支持編寫野饑動(dòng)態(tài)sql。

擴(kuò)展資料:

mybatis的功能構(gòu)架:

1、API接口層:提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調(diào)用請(qǐng)求就會(huì)調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。

2、數(shù)據(jù)處理層:負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等。它主要的目的是根據(jù)調(diào)用的請(qǐng)求完成一次數(shù)據(jù)庫操作。

3、基礎(chǔ)支撐層:負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎(chǔ)的組件。為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。

參考資料來源:

百度百科-MyBatis

參考資料來源:

百度百科-MyBatis從入門到精通

需要,,ibatis只是寫sql語句的。一般傳值接收值,還是用類控制的。

關(guān)于mybatis保存對(duì)象到數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)頁題目:「MyBatis」對(duì)象存數(shù)據(jù)庫(mybatis保存對(duì)象到數(shù)據(jù)庫)
網(wǎng)頁URL:http://www.5511xx.com/article/cdspodc.html