日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

發布時間:2025/6/17 asp.net 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB和Java(4):Spring Data整合MongoDB(XML配置) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

最近花了一些時間學習了下MongoDB數據庫,感覺還是比較全面系統的,涉及了軟件安裝、客戶端操作、安全認證、副本集和分布式集群搭建,以及使用Spring Data連接MongoDB進行數據操作,收獲很大。特此記錄,以備查看。

?

文章目錄:

MongoDB和Java(1):Linux下的MongoDB安裝

MongoDB和Java(2):普通用戶啟動mongod進程

MongoDB和Java(3):Java操作MongoB

MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

MongoDB和Java(5):Spring Data整合MongoDB(注解配置)

MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

MongoDB和Java(7):MongoDB用戶管理

?

本文記錄如何使用XML配置方式整合Spring data和MongoDB

?

源代碼下載
MongoDB和Java學習代碼.zip

?

1、環境準備

JDK     1.8
Spring    4.2.5.RELEASE
Junit    ? ?4.10
Spring-data-mongodb  1.9.0.RELEASE
Logback   1.1.7

Maven    3.2.1

?

依賴

1 <properties> 2 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 3 <maven.compiler.source>1.8</maven.compiler.source> 4 <maven.compiler.target>1.8</maven.compiler.target> 5 <spring.version>4.2.5.RELEASE</spring.version> 6 </properties> 7 8 <dependencies> 9 10 <dependency> 11 <groupId>junit</groupId> 12 <artifactId>junit</artifactId> 13 <version>4.10</version> 14 <scope>test</scope> 15 </dependency> 16 17 <dependency> 18 <groupId>org.springframework</groupId> 19 <artifactId>spring-context-support</artifactId> 20 <version>${spring.version}</version> 21 </dependency> 22 <dependency> 23 <groupId>org.springframework</groupId> 24 <artifactId>spring-aop</artifactId> 25 <version>${spring.version}</version> 26 </dependency> 27 <dependency> 28 <groupId>org.springframework</groupId> 29 <artifactId>spring-test</artifactId> 30 <version>${spring.version}</version> 31 <scope>test</scope> 32 </dependency> 33 34 <dependency> 35 <groupId>org.springframework.data</groupId> 36 <artifactId>spring-data-mongodb</artifactId> 37 <version>1.9.0.RELEASE</version> 38 </dependency> 39 40 <!-- logback日志 --> 41 <dependency> 42 <groupId>ch.qos.logback</groupId> 43 <artifactId>logback-core</artifactId> 44 <version>1.1.7</version> 45 </dependency> 46 <dependency> 47 <groupId>ch.qos.logback</groupId> 48 <artifactId>logback-classic</artifactId> 49 <version>1.1.7</version> 50 </dependency> 51 <dependency> 52 <groupId>org.aspectj</groupId> 53 <artifactId>aspectjweaver</artifactId> 54 <version>1.6.1</version> 55 </dependency> 56 57 </dependencies> 58 59 <build> 60 <finalName>security-demo</finalName> 61 <plugins> 62 <plugin> 63 <groupId>org.apache.maven.plugins</groupId> 64 <artifactId>maven-compiler-plugin</artifactId> 65 <version>3.3</version> 66 <configuration> 67 <source>${maven.compiler.source}</source> 68 <target>${maven.compiler.target}</target> 69 <encoding>${project.build.sourceEncoding}</encoding> 70 </configuration> 71 </plugin> 72 </plugins> 73 </build>

?

2、mongodb配置文件

這個是spring的子配置文件,通過從.properties文件讀取連接屬性創建mongoClient對象,再創建DBFactory對象,通過DBFactory創建MongoTemplate,我們的數據層實現類就是使用MongoTemplate操作MongoDB的。

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:mongo="http://www.springframework.org/schema/data/mongo" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context-4.2.xsd 10 http://www.springframework.org/schema/data/mongo 11 http://www.springframework.org/schema/data/mongo/spring-mongo-1.8.xsd"> 12 13 <!-- 連接屬性文件,配置服務器IP端口、數據庫和連接參數 --> 14 <context:property-placeholder location="classpath:mongodb.properties" 15 ignore-unresolvable="true" /> 16 17 <!-- 創建MongoClient --> 18 <mongo:mongo-client id="mongo" replica-set="${mongo.hostport}"> 19 <mongo:client-options connections-per-host="${mongo.connectionsPerHost}" 20 threads-allowed-to-block-for-connection-multiplier= 21 "${mongo.threadsAllowedToBlockForConnectionMultiplier}" 22 connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" 23 socket-keep-alive="${mongo.socketKeepAlive}" 24 socket-timeout="${mongo.socketTimeout}" /> 25 </mongo:mongo-client> 26 27 <!-- MongoDbFactory --> 28 <mongo:db-factory id="mgFactory" dbname="${mongo.dbname}" 29 mongo-ref="mongo" /> 30 31 <!-- MongoTemplate --> 32 <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 33 <constructor-arg name="mongoDbFactory" ref="mgFactory" /> 34 </bean> 35 36 </beans> View Code

?

?

mongodb.properties

1 mongo.hostport=10.10.12.195:27017 2 mongo.dbname=test 3 mongo.connectionsPerHost=8 4 mongo.threadsAllowedToBlockForConnectionMultiplier=4 5 mongo.connectTimeout=1000 6 mongo.maxWaitTime=1500 7 mongo.socketKeepAlive=true 8 mongo.socketTimeout=1500

?

3、spring主配置文件

application.xml是spring的主配置文件,配置組件掃描,另外還要引入mongo的配置

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:tx="http://www.springframework.org/schema/tx" 6 xmlns:aop="http://www.springframework.org/schema/aop" 7 xsi:schemaLocation="http://www.springframework.org/schema/beans 8 http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 9 http://www.springframework.org/schema/context 10 http://www.springframework.org/schema/context/spring-context-4.2.xsd"> 11 12 <!-- 組件掃描 --> 13 <context:component-scan base-package="org.net5ijy.mongo.dao" /> 14 <!--使用注解管理bean --> 15 <context:annotation-config /> 16 17 <import resource="application-mongo.xml" /> 18 19 </beans>

?

4、實體類和數據層

Employee

1 @Document(collection = "employee") 2 public class Employee implements Serializable { 3 4 @Id 5 @Field(value = "_id") 6 private String id; 7 8 @Field(value = "name") 9 private String name; 10 11 @Field 12 private Integer age; 13 14 @Field 15 private Date createTime = new Date(); 16 17 public Employee() { 18 super(); 19 } 20 public Employee(String name, Integer age) { 21 super(); 22 this.name = name; 23 this.age = age; 24 } 25 26 // getter & setter 27 }

?

數據層實現

1 @Repository 2 public class EmployeeDaoImpl implements EmployeeDao { 3 4 @Autowired 5 private MongoTemplate mongoTemplate; 6 7 @Override 8 public List<Employee> findAll() { 9 return mongoTemplate.findAll(Employee.class); 10 } 11 12 @Override 13 public void insertOneEmployee(Employee employee) { 14 mongoTemplate.insert(employee); 15 } 16 17 @Override 18 public void deleteOneEmployeeByName(String name) { 19 Criteria c = new Criteria(); 20 c.and("name").is(name); 21 Query query = new Query(c); 22 mongoTemplate.remove(query, Employee.class); 23 } 24 25 @Override 26 public void deleteOneEmployee(String id) { 27 Criteria c = new Criteria(); 28 c.and("_id").is(id); 29 Query query = new Query(c); 30 mongoTemplate.remove(query, Employee.class); 31 } 32 33 @Override 34 public Employee findByName(String name) { 35 Criteria c = new Criteria(); 36 c.and("name").is(name); 37 Query query = new Query(c); 38 return mongoTemplate.findOne(query, Employee.class); 39 } 40 41 @Override 42 public Employee find(String id) { 43 return mongoTemplate.findById(id, Employee.class); 44 } 45 } View Code

?

代碼中把MongoTemplate注入到了實現類,然后使用它的API進行數據庫操作。

?

5、Junit測試類

1 @RunWith(SpringJUnit4ClassRunner.class) 2 @ContextConfiguration(locations = { "classpath:application.xml" }) 3 public class EmployeeDaoImplTest { 4 5 @Autowired 6 private EmployeeDao employeeDao; 7 8 @Autowired 9 private ApplicationContext context; 10 11 @Test 12 public void testFindAll() { 13 List<Employee> list = employeeDao.findAll(); 14 for (Employee employee : list) { 15 System.out.println(employee); 16 } 17 } 18 19 @Test 20 public void testInsertOneEmployee() { 21 Employee e = new Employee("admin", 28); 22 employeeDao.insertOneEmployee(e); 23 } 24 25 @Test 26 public void testDeleteOneEmployeeByName() { 27 employeeDao.deleteOneEmployeeByName("admin"); 28 } 29 30 @Test 31 public void testDeleteOneEmployee() { 32 Employee e = employeeDao.findByName("admin"); 33 employeeDao.deleteOneEmployee(e.getId()); 34 } 35 36 @Test 37 public void testFindByName() { 38 Employee e = employeeDao.findByName("admin"); 39 System.out.println(e); 40 } 41 42 @Test 43 public void testFind() { 44 Employee e = employeeDao.findByName("admin"); 45 Employee e2 = employeeDao.find(e.getId()); 46 System.out.println(e2); 47 } 48 }

?

6、參考資料

Spring Data MongoDB - Reference Documentation

https://docs.spring.io/spring-data/mongodb/docs/1.10.15.RELEASE/reference/html/

?

轉載于:https://www.cnblogs.com/xugf/p/9772315.html

總結

以上是生活随笔為你收集整理的MongoDB和Java(4):Spring Data整合MongoDB(XML配置)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丝袜熟女一区二区三区 | 天天综合日日夜夜 | 亚洲第一区在线 | 亚洲激情久久久 | 欧美在线视频播放 | 2021天天操 | 久久综合久色欧美综合狠狠 | 国产精品综合视频 | 91免费看国产 | 久久精品小视频 | 国产不卡视频在线 | 欧美巨鞭大战丰满少妇 | 8x8ⅹ成人永久免费视频 | 一区二区三区av | 夜夜夜操操操 | 精品欧美一区二区三区久久久 | 亚洲永久免费观看 | 成人动漫在线免费观看 | 精品无码久久久久久久久 | 国产尤物视频在线 | 亚洲一二区在线 | 成人三级在线视频 | 日本理论中文字幕 | 91手机在线播放 | 欧美丰满老妇熟乱xxxxyyy | 久久久久亚洲精品 | 亚洲欧美制服丝袜 | 大桥未久中文字幕 | 久久久久9| 国产破处视频 | 国产激情在线看 | 午夜精品久久久久久久蜜桃 | 亚洲人成无码网站久久99热国产 | 人人干视频 | 第一av在线 | 日韩欧美亚洲一区二区 | 国产日韩欧美视频在线观看 | 欧美激情图区 | 日韩字幕在线观看 | 麻豆久久久久久久久久 | 中文字幕视频在线观看 | 欧美一级二级三级视频 | 亚洲19p| 国产三级精品视频 | 男人的天堂aa | 亚洲成年人在线观看 | 久久久999视频| 亚洲一区二区精品在线观看 | 精品九九在线 | 亚洲视频一二三区 | 徐锦江一级淫片免费看 | 91视频免费在线 | 国产在线无| 亚洲毛片在线免费观看 | 在线黄色网页 | 九九热视 | 成人无遮挡 | 亚洲日本中文 | 麻豆免费在线观看视频 | 亚洲专区av | 亚洲精品国产精品国 | 9.1成人看片免费版 日韩经典在线 | 国产又粗又猛又爽又黄 | www.97av.com| 国产精品久久久久久久久免费看 | 蜜美杏av | 99久久黄色| 亚洲一区二区三区播放 | 久久狠狠高潮亚洲精品 | 天天色天 | 国产91在线亚洲 | 欧洲成人午夜精品无码区久久 | 久久久精品电影 | 午夜精品久久久久 | 麻豆视频二区 | 一区二区精品在线观看 | 中文字幕一区二区三区四区不卡 | 成人免费毛片网站 | 依依成人综合网 | 成人妇女淫片aaaa视频 | 成人精品福利 | 国产91嫩草 | 亚洲一区二区三区乱码 | 91拔萝卜视频 | 精品久久国产字幕高潮 | 97久久综合 | 欧美一区二区福利 | 国产成人久久 | 色呦呦在线免费观看 | 免费看黄色大片 | 亚洲第一成人在线 | 日韩亚洲区 | 国产精品--色哟哟 | 久久国产精品-国产精品 | 精品视频区 | 欧美私人网站 | feel性丰满白嫩嫩hd | 99re免费视频精品全部 | 好男人在线视频www 亚洲福利国产 |