MongoDB学习笔记(五)MongoDB数据库JAVA操作

1.使用eclipse创建一个maven项目开操作mongodb数据库。pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>com.chu</groupId>  
  <artifactId>mongotest</artifactId>  
  <packaging>war</packaging>  
  <version>0.0.1-SNAPSHOT</version>  
  <name>mongotest Maven Webapp</name>  
  <url>http://maven.apache.org</url>  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
    </dependency>  
    <dependency>  
        <groupId>org.mongodb</groupId>  
        <artifactId>mongo-java-driver</artifactId>  
        <version>2.10.1</version>  
    </dependency>  
    <dependency>  
        <groupId>org.codehaus.jackson</groupId>  
        <artifactId>jackson-core-asl</artifactId>  
        <version>1.9.9</version>  
    </dependency>  
    <dependency>  
        <groupId>org.codehaus.jackson</groupId>  
        <artifactId>jackson-mapper-asl</artifactId>  
        <version>1.9.9</version>  
    </dependency>  
  </dependencies>  
  <build>  
    <finalName>mongotest</finalName>  
  </build>  
</project>  

2. java代码如下:

   

package com.mongo.action;  
  
import java.net.UnknownHostException;  
import java.util.List;  
import com.mongo.po.User;  
import com.mongo.service.UserService;  
  
public class UserAction {  
    private UserService userService = new UserService();  
    public void save() throws UnknownHostException{  
        User user = new User();  
        user.setId(1);  
        user.setName("jinhui");  
        user.setAddress("beijing");  
        this.userService.save(user);  
    }  
      
    public void update()throws UnknownHostException{  
        User user = new User();  
        user.setId(1);  
        user.setName("manman");  
        user.setAddress("hebei");  
        this.userService.update(user);  
    }  
      
    public List<User> findAll()throws UnknownHostException{  
        return this.userService.findAll();  
    }  
      
    public void remove()throws UnknownHostException{  
        this.userService.remove(1);  
    }  
      
    public static void main(String[] args)throws UnknownHostException {  
        UserAction userAction = new UserAction();  
          
        userAction.save();  
          
//      userAction.update();  
          
//      userAction.remove();  
          
        List<User> list = userAction.findAll();  
        for(User user : list){  
            System.out.println(user);  
        }  
    }  
      
}  

 

package com.mongo.service;  
  
import java.net.UnknownHostException;  
import java.util.List;  
  
import com.mongo.dao.UserDao;  
import com.mongo.po.User;  
  
public class UserService {  
  
    private UserDao userDao = new UserDao();  
      
    /** 
     * 保存 
     * @param user 
     * @throws UnknownHostException 
     */  
    public void save(User user) throws UnknownHostException{  
        this.userDao.save(user);  
    }  
      
      
      
    /** 
     * 更新 
     * @param user 
     * @throws UnknownHostException 
     */  
    public void update(User user) throws UnknownHostException {  
        this.userDao.update(user);  
    }  
      
    /** 
     * 查询所有 
     * @return 
     * @throws UnknownHostException  
     */  
    public List<User> findAll() throws UnknownHostException{  
        return this.userDao.findAll();  
    }  
      
      
    /** 
     * 删除操作 
     * @param id 
     * @throws UnknownHostException 
     */  
    public void remove(int id) throws UnknownHostException{  
        this.userDao.remove(id);  
    }  
      
}  

 

package com.mongo.dao;  
  
import java.net.UnknownHostException;  
import java.util.ArrayList;  
import java.util.List;  
  
import com.mongo.po.User;  
import com.mongodb.BasicDBObject;  
import com.mongodb.DB;  
import com.mongodb.DBCollection;  
import com.mongodb.DBCursor;  
import com.mongodb.DBObject;  
import com.mongodb.Mongo;  
import com.mongodb.util.JSON;  
  
public class UserDao {  
  
    /** 
     * 保存 
     * @param user 
     * @throws UnknownHostException 
     */  
    public void save(User user) throws UnknownHostException {  
        Mongo mongo = new Mongo();  
        DB myMongo = mongo.getDB("myMongo");  
        DBCollection userCollection = myMongo.getCollection("user");  
  
        DBObject dbo = (DBObject) JSON.parse(user.toJson());  
        userCollection.insert(dbo);  
    }  
  
    /** 
     * 更新 
     * @param user 
     * @throws UnknownHostException 
     */  
    public void update(User user) throws UnknownHostException {  
        Mongo mongo = new Mongo();  
        DB myMongo = mongo.getDB("myMongo");  
        DBCollection userCollection = myMongo.getCollection("user");  
  
        BasicDBObject baseDBO = new BasicDBObject();  
        baseDBO.put("id", user.getId());  
          
        DBObject newDBO = (DBObject) JSON.parse(user.toJson());  
          
        userCollection.update(baseDBO, newDBO);  
    }  
      
    /** 
     * 查询所有 
     * @return 
     * @throws UnknownHostException  
     */  
    public List<User> findAll() throws UnknownHostException{  
        Mongo mongo = new Mongo();  
        DB myMongo = mongo.getDB("myMongo");  
        DBCollection userCollection = myMongo.getCollection("user");  
        DBCursor cursor=userCollection.find();  
          
        List<User> userList = new ArrayList<User>();  
        while(cursor.hasNext()){  
             User user = new User();  
             user.parse(cursor.next());  
             userList.add(user);  
        }  
        return userList;  
    }  
      
      
    /** 
     * 删除操作 
     * @param id 
     * @throws UnknownHostException 
     */  
    public void remove(int id) throws UnknownHostException{  
        Mongo mongo = new Mongo();  
        DB myMongo = mongo.getDB("myMongo");  
        DBCollection userCollection = myMongo.getCollection("user");  
          
          
        BasicDBObject baseDBO =new BasicDBObject();  
        baseDBO.put("id", id);  
  
        //删除某一条记录  
        userCollection.remove(baseDBO);  
    }  
      
  
}  

 

package com.mongo.po;  
  
import com.mongo.utils.JsonUtils;  
import com.mongodb.DBObject;  
  
public class User {  
  
    private int id;  
    private String name;  
    private String address;  
      
      
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public String getAddress() {  
        return address;  
    }  
    public void setAddress(String address) {  
        this.address = address;  
    }  
      
      
    public String toJson(){  
        return JsonUtils.toJson(this);  
    }  
      
    public void parse(DBObject dbo){  
        this.setId((Integer)dbo.get("id"));  
        this.setName((String)dbo.get("name"));  
        this.setAddress((String)dbo.get("address"));  
    }  
      
      
    public String toString(){  
        return "id:"+id+",name:"+name+",address:"+address;  
    }  
}  

 

package com.mongo.utils;  
  
import java.io.OutputStream;  
  
import org.codehaus.jackson.map.ObjectMapper;  
import org.codehaus.jackson.type.TypeReference;  
  
  
/** 
 * Json转化工具,可以实现java对象和json字符串之间的互相转化<br /> 
 *  
 */  
public class JsonUtils {  
    static ObjectMapper objectMapper = new ObjectMapper();  
  
    /** 
     * java 对象转换为json 存入流中 
     *  
     * @param obj 
     * @param out 
     */  
    public static String toJson(Object obj) {  
        String s = "";  
        try {  
            s = objectMapper.writeValueAsString(obj);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return s;  
    }  
  
    /** 
     * java 对象转换为json 存入流中 
     *  
     * @param obj 
     * @param out 
     */  
    public static void toJson(Object obj, OutputStream out) {  
        try {  
            objectMapper.writeValue(out, obj);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    /** 
     * json 转为java对象 
     *  
     * @param json 
     * @param obj 
     */  
    @SuppressWarnings({ "rawtypes", "unchecked" })  
    public static void fromJson(String json, Object obj, Class valueType) {  
        try {  
            obj = objectMapper.readValue(json, valueType);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    /** 
     * json 转为java对象 
     * @param json 
     * @param obj 
     * @param valueTypeRef 
     */  
    @SuppressWarnings("rawtypes")  
    public static void fromJson(String json, Object obj, TypeReference valueTypeRef) {  
        try {  
            obj = objectMapper.readValue(json, valueTypeRef);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    /** 
     * json 转为java对象 
     *  
     * @param json 
     * @param obj 
     */  
    @SuppressWarnings({ "rawtypes", "unchecked" })  
    public static Object fromJson(String json, Class valueType) {  
        Object obj = null;  
        try {  
            obj = objectMapper.readValue(json, valueType);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return obj;  
    }  
  
    /** 
     * json 转为java对象 
     *  
     * @param json 
     * @param obj 
     * @param valueTypeRef 
     */  
    @SuppressWarnings({ "rawtypes", "hiding" })  
    public static <Object> Object fromJson(String json, TypeReference valueTypeRef) {  
        Object obj = null;  
        try {  
            obj = objectMapper.readValue(json, valueTypeRef);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return obj;  
    }  
}  

 3.使用客户端工具查看数据(略)。

 

你可能感兴趣的:(mongodb,java操作)