https://github.com/pengjianbo/mongodao
MongoDB DAO Impl.
https://github.com/pengjianbo/mongodao
mongo mongodb mongodb-cli mongodb-database mongodb-driver mongodb-orm orm
Last synced: 2 months ago
JSON representation
MongoDB DAO Impl.
- Host: GitHub
- URL: https://github.com/pengjianbo/mongodao
- Owner: pengjianbo
- Created: 2017-06-23T02:01:51.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-09T12:13:00.000Z (almost 9 years ago)
- Last Synced: 2025-05-16T23:34:00.955Z (about 1 year ago)
- Topics: mongo, mongodb, mongodb-cli, mongodb-database, mongodb-driver, mongodb-orm, orm
- Language: Java
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MongoDao
是一个mongodb使用封装库
# Maven
```xml
cn.finalteam
mongodao
1.0-SNAPSHOT
```
# 配置
## 数据连接配置
```java
public static MongoConfig getMongoConfig(){
MongoConfig mongoConfig = new MongoConfig();
mongoConfig.setServerAddress(new ServerAddress("127.0.0.1", 27017));
try {
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new PropertiesConfiguration("mongo.cfg"));
String user = config.getString("user");
String passwd = config.getString("passwd");
String dbname = config.getString("dbname");
mongoConfig.setUsername(user);
mongoConfig.setPassword(passwd);
mongoConfig.setDatabaseName(dbname);
} catch (ConfigurationException e) {
e.printStackTrace();
}
MongoClientOptions mongoClientOptions = new MongoClientOptions.Builder()
.socketKeepAlive(true)
.connectTimeout(5000)
.socketTimeout(5000)
.readPreference(ReadPreference.primary())
.connectionsPerHost(5)
.maxWaitTime(5000)
.threadsAllowedToBlockForConnectionMultiplier(30)
.build();
mongoConfig.setMongoClientOptions(mongoClientOptions);
return mongoConfig;
}
```
## 数据操作DAO
```java
public class TeacherDao extends MongoDao {
public TeacherDao(MongoConfig mongoConfig){
super(mongoConfig);
}
//在这里可以扩展dao操作方法
}
```
# CRUD操作
## 插入
```java
Teacher teacher = new Teacher();
teacher.setName("马老师");
teacher.setAge(45);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
teacher.setBirthday(sdf.parse("1972-01-01").getTime());
Map> classes = new HashMap>();
List students = new ArrayList();
for(int i = 0; i < 10; i++){
Student student = new Student();
student.setName("彭学生" + i);
student.setAge(new Random().nextInt(10) + 10);
students.add(student);
}
classes.put("计高071", students);
teacher.setClasses(classes);
teacher.setMan(true);
List courses = new ArrayList();
courses.add("计算机应用");
courses.add("C语言程序设计");
teacher.setCourse(courses);
teacherDao.insertOne(teacher);
```
## 查询
```java
Bson filter = Filters.eq("name", "马老师");
List teacherList = teacherDao.find(filter);
System.out.println(JSON.toJSONString(teacherList));
```
## 修改
```java
Bson filter = Filters.eq("name", "马老师");
Document document = new Document();
document.put("isMan", false);
long l = teacherDao.updateOne(filter, document);
```
## 删除
```java
Bson filter = Filters.eq("name", "马老师");
long count = teacherDao.delete(filter);
```