您好,登錄后才能下訂單哦!
本篇文章為大家展示了Spring Data MongoDB如何去掉_class屬性字段,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
oyhk 學習筆記
Spring Data MongoDB 去掉_class屬性字段
相信大家使用java 操作mongodb ,很多人會選擇了spring data mongodb ,我也是其中一個選擇了spring data mongodb,我也相當喜歡spring的東西..哈
在開始的時候,我使用spring data mongodb ,當添加了一條數據的時候,我用MongoVUE查詢了數據...如圖
看到了_class屬性了嗎?
簡單地說下這個字段,spring data mongodb 為什么要加上去,大概是為了查詢數據的類型轉換吧...具體大家再去查查了...
但是,你會發現,有這個字段跟沒這個字段,在查詢數據的時候,同樣可以轉換成對象....所以...還是不要吧,這樣不但數據大了,雖然只是一點點..
但是看著有這個字段也非常不習慣...去掉吧...
下面兩種去掉_class這個字段的屬性......我個人就喜歡用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" /> <!-- 自動掃描以下包的類 --> <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> <!-- 默認Mongodb類型映射 --> <bean id="defaultMongoTypeMapper" class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper"> <constructor-arg name="typeKey"> <null /><!-- 這里設置為空,可以把 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>
好了,現在就配置完成了,那么我再運行一次插入數據的代碼,再看看情況,好下圖
現在舒服了吧...._class的字段沒了...OK,搞定了...
上述內容就是Spring Data MongoDB如何去掉_class屬性字段,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。