SpringMVC集成MongoDb
(1)pom添加相关依赖
1 <dependency> 2 <groupId>org.springframework.data</groupId> 3 <artifactId>spring-data-mongodb</artifactId> 4 <version>1.10.18.RELEASE</version> 5 </dependency>
(2)注册相关bean
1 package cn.coreqi.config; 2 3 import com.mongodb.Mongo; 4 import com.mongodb.MongoClient; 5 import com.mongodb.MongoCredential; 6 import com.mongodb.ServerAddress; 7 import org.springframework.context.annotation.Configuration; 8 import org.springframework.data.mongodb.config.AbstractMongoConfiguration; 9 import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; 10 import java.util.Arrays; 11 12 @Configuration 13 @EnableMongoRepositories(basePackages = "cn.coreqi.dao.mongodb") 14 public class MongodbConfig extends AbstractMongoConfiguration { 15 16 @Override 17 protected String getDatabaseName() { 18 return "springmongo"; 19 } 20 21 @Override 22 public Mongo mongo() throws Exception { 23 MongoCredential credential = MongoCredential.createCredential("fanqi","springmongo","123456".toCharArray()); 24 return new MongoClient(new ServerAddress("192.168.205.128",27017), Arrays.asList(credential)); 25 } 26 }
(3)编写实体类
1 package cn.coreqi.entities; 2 3 import org.springframework.data.annotation.Id; 4 import org.springframework.data.mongodb.core.mapping.Document; 5 import org.springframework.data.mongodb.core.mapping.Field; 6 7 import java.io.Serializable; 8 9 @Document 10 public class User implements Serializable { 11 @Id 12 private Integer Id; 13 @Field("age") 14 private Integer Age; 15 private String UserName; 16 private String PassWord; 17 private Integer Enabled; 18 19 public User(Integer id, Integer age, String userName, String passWord, Integer enabled) { 20 Id = id; 21 Age = age; 22 UserName = userName; 23 PassWord = passWord; 24 Enabled = enabled; 25 } 26 27 public Integer getId() { 28 return Id; 29 } 30 31 public void setId(Integer id) { 32 Id = id; 33 } 34 35 public Integer getAge() { 36 return Age; 37 } 38 39 public void setAge(Integer age) { 40 Age = age; 41 } 42 43 public String getUserName() { 44 return UserName; 45 } 46 47 public void setUserName(String userName) { 48 UserName = userName; 49 } 50 51 public String getPassWord() { 52 return PassWord; 53 } 54 55 public void setPassWord(String passWord) { 56 PassWord = passWord; 57 } 58 59 public Integer getEnabled() { 60 return Enabled; 61 } 62 63 public void setEnabled(Integer enabled) { 64 Enabled = enabled; 65 } 66 67 @Override 68 public String toString() { 69 return "User{" + 70 "Id=" + Id + 71 ", Age=" + Age + 72 ", UserName='" + UserName + '\'' + 73 ", PassWord='" + PassWord + '\'' + 74 ", Enabled=" + Enabled + 75 '}'; 76 } 77 }
(4)编写dao
1 package cn.coreqi.dao.mongodb; 2 3 import cn.coreqi.entities.User; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.data.mongodb.core.MongoOperations; 6 import org.springframework.data.mongodb.core.query.Criteria; 7 import org.springframework.data.mongodb.core.query.Query; 8 import org.springframework.stereotype.Repository; 9 10 @Repository 11 public class UserMongoDao { 12 @Autowired 13 private MongoOperations mongo; 14 15 public long count(){ 16 return mongo.getCollection("user").count(); 17 } 18 public void addUser(User user){ 19 mongo.save(user,"user"); 20 } 21 public User getById(int id){ 22 return mongo.findById(id,User.class); 23 } 24 public User getByUserName(String userName){ 25 return mongo.findOne(Query.query(Criteria.where("UserName").is(userName)),User.class); 26 } 27 public void delById(int id){ 28 mongo.remove(Query.query(Criteria.where("Id").is(id)),User.class); 29 } 30 }
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/10277541.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
分类:
Spring MVC
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!