溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Data MongoDB如何去掉_class屬性字段

發(fā)布時(shí)間:2021-09-26 14:44:43 來(lái)源:億速云 閱讀:963 作者:柒染 欄目:MongoDB數(shù)據(jù)庫(kù)

本篇文章為大家展示了Spring Data MongoDB如何去掉_class屬性字段,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

oyhk 學(xué)習(xí)筆記

Spring Data MongoDB 去掉_class屬性字段

相信大家使用java 操作mongodb ,很多人會(huì)選擇了spring data mongodb ,我也是其中一個(gè)選擇了spring data mongodb,我也相當(dāng)喜歡spring的東西..哈

在開始的時(shí)候,我使用spring data mongodb ,當(dāng)添加了一條數(shù)據(jù)的時(shí)候,我用MongoVUE查詢了數(shù)據(jù)...如圖

Spring Data MongoDB如何去掉_class屬性字段

看到了_class屬性了嗎?

簡(jiǎn)單地說(shuō)下這個(gè)字段,spring data mongodb 為什么要加上去,大概是為了查詢數(shù)據(jù)的類型轉(zhuǎn)換吧...具體大家再去查查了...

但是,你會(huì)發(fā)現(xiàn),有這個(gè)字段跟沒(méi)這個(gè)字段,在查詢數(shù)據(jù)的時(shí)候,同樣可以轉(zhuǎn)換成對(duì)象....所以...還是不要吧,這樣不但數(shù)據(jù)大了,雖然只是一點(diǎn)點(diǎn)..

但是看著有這個(gè)字段也非常不習(xí)慣...去掉吧...

下面兩種去掉_class這個(gè)字段的屬性......我個(gè)人就喜歡用xml配置方式了....

第一種是注釋方式

@Configuration public class SpringMongoConfig{     public @Bean   MongoDbFactory mongoDbFactory() throws Exception {     return new SimpleMongoDbFactory(new Mongo(), "database");   }     public @Bean   MongoTemplate mongoTemplate() throws Exception {       //remove _class     MappingMongoConverter converter =          new MappingMongoConverter(mongoDbFactory(), new MongoMappingContext());     converter.setTypeMapper(new DefaultMongoTypeMapper(null));       MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(), converter);       return mongoTemplate;     }   }

第二種:xml配置方式

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo"     xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd      http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.1.xsd      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">     <!-- Default bean name is 'mongo' -->     <mongo:mongo host="192.168.56.101" port="27018" />     <mongo:db-factory dbname="mongoTest" mongo-ref="mongo" username="root" password="87980879nihao" />      <!-- 自動(dòng)掃描以下包的類 -->     <mongo:mapping-converter base-package="com.mkfree.**.domain" />      <bean id="mappingContext" class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />     <!-- 配置mongodb映射類型 -->     <bean id="mappingMongoConverter" class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">         <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />         <constructor-arg name="mappingContext" ref="mappingContext" />         <property name="typeMapper" ref="defaultMongoTypeMapper" />     </bean>      <!-- 默認(rèn)Mongodb類型映射 -->     <bean id="defaultMongoTypeMapper" class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">         <constructor-arg name="typeKey">             <null /><!-- 這里設(shè)置為空,可以把 spring data mongodb 多余保存的_class字段去掉 -->         </constructor-arg>     </bean>     <!-- 操作mongodb -->     <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">         <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />         <constructor-arg name="mongoConverter" ref="mappingMongoConverter" />     </bean>  </beans>

 好了,現(xiàn)在就配置完成了,那么我再運(yùn)行一次插入數(shù)據(jù)的代碼,再看看情況,好下圖

Spring Data MongoDB如何去掉_class屬性字段

 現(xiàn)在舒服了吧...._class的字段沒(méi)了...OK,搞定了...

上述內(nèi)容就是Spring Data MongoDB如何去掉_class屬性字段,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI