日韩性视频-久久久蜜桃-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配置)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 伊人av综合| 午夜激情国产 | 亚洲激情一区二区三区 | 美女bb视频| 欧美综合在线视频 | 男人天堂2021 | 亚洲一区在线看 | 亚洲第一成人在线 | 春色激情站 | 精东av在线 | 中文字幕在线精品 | aaa黄色一级片 | 91美女精品 | 国产麻豆成人传媒免费观看 | 禁欲天堂| 欧美天天射 | 日韩欧美一区二区三区在线 | 操操网| 国产精品乱子伦 | 精品孕妇一区二区三区 | 亚洲一本在线 | 日韩精品免费一区二区夜夜嗨 | 日韩免费成人 | 精品欧美激情精品一区 | 久久久亚洲天堂 | 欧美日韩一级大片 | 亚洲涩情 | 成人在线免费播放 | 日韩一区二区欧美 | 在线日本视频 | 森泽佳奈作品在线观看 | 日韩r级在线观看 | www.亚洲人 | 999久久久精品 | 欧美精品国产一区 | 久久免费久久 | 精品人妻在线播放 | 日日日插插插 | 色片在线免费观看 | 91成人看| 久热这里有精品 | 亚洲淫 | 国产高清在线精品 | 五月天久久综合 | 免费成人在线电影 | 天天操天天插天天射 | 美国一级黄色大片 | 在线视频毛片 | 日韩在线视频网 | 性色视频在线观看 | av一本在线| 外国黄色录像 | 免费久久视频 | 天天干夜夜添 | 看免费一级片 | 末路1997全集免费观看完整版 | 午夜tv| 日本人做受免费视频 | 国产日韩不卡 | 天堂bt在线 | 永久免费在线视频 | 成年网站在线 | 日韩午夜视频在线观看 | 美女网站黄频 | 精品国产鲁一鲁一区二区张丽 | 日韩免费在线视频观看 | 四虎影| 国产偷v国产偷v亚洲高清 | 狠狠热免费视频 | 台湾佬美性中文网 | 午夜av剧场 | 青青操视频在线 | 伦伦影院午夜理论片 | 精品国产一二三四区 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 天天综合天天做 | 神马久久久久久 | 在哪里可以看黄色片 | 亚洲熟妇无码一区二区三区导航 | 国产少女免费观看高清 | 亚洲成网站 | 天天弄 | 天天插天天射天天干 | 中国av在线 | 91xxx在线观看 | 午夜影院在线观看免费 | 18禁一区二区三区 | 男女黄床上色视频 | 欧美八区| 久草国产在线观看 | 91国内揄拍国内精品对白 | 亚洲精品一区中文字幕乱码 | 毛片黄色片 | 欧美丰满熟妇bbb久久久 | 国产成人麻豆免费观看 | 欧美草逼视频 | 中文字幕在线看 | 欧美老肥婆性猛交视频 | 91看片网站|