您好,登錄后才能下訂單哦!
本篇文章為大家展示了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ù)...如圖
看到了_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ù)的代碼,再看看情況,好下圖
現(xiàn)在舒服了吧...._class的字段沒(méi)了...OK,搞定了...
上述內(nèi)容就是Spring Data MongoDB如何去掉_class屬性字段,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。