使用MyEclipse对MongoDB数据库 进行增删改查操作

前面写了一篇MongoDB的下载与安装,接下来此篇写的是MongoDB数据库在JAVA程序中的基本功能:

进行增删改查操作

1.导入JAR包

使用了Spring3.0;此类包,可以上网查询“MongoDB相关JAR包”

2.创建一个Person实体类

源代码如下:

public class Person(){//属性Private String id; //idPrivate String name; //namePrivate int age; //age//构造方法public Person(){}public Person(String name,int age){this.name = name;this.age = age;}public Person(String id,String name,int age){this.id = id;this.name = name;this.age = age;}public String toString(){return “Person[ id = ”+id+“name=”+name+“age=”+age +”]”;}/**以下为属性的get/set方法**/……………………………} /**以上代码中一共有三个构造方法,,用于传递参数数据**/

3.创建一个方法接口

1.

public interface AbstractRepository(){//增加方法public void insert(Person person);//按ID查询对象public Person findOne(String id);//查询所有public List<Person> findAll();//按ID删除public void removeOne(String id);//删除所有public void removeAll();//查询并修改public void findAndModfy(String id);}

4.接口方法实现类

1.

源代码如下:

public class PersonRepository implements AbstractRepository{ Private MongoTemplate mongoTemplate; /**mongoTemplate的get/set方法**/public MongoTemplate getMongoTemplate(){return mongoTemplate;} public void setMongoTemplate(MongoTemplate mongoTemplate) {this.mongoTemplate = mongoTemplate;} //查询所有public List<Person> findAll(){return getMongoTemplate().find(new Query, Person.class);}//查询修改public void findAndModify(){getMongoTemplate().updateFirst(new Query(Criteria.where(“id”)).is(id) ,new Update().inc(“age” , 3));}//按条件查询public List<Person> findAll(){Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);Criteria criteria = new Criteria(“name”).regex(pattern.toString());return getMongoTemplate().find(new Query(criteria), Person.class)}//按ID查询对象public Person findOne(String id){return getMongoTemplate().findOne(new Query(Criteria.where(“id”).is(id), Person.class));}//增加public void insert(Person person){getMongoTemplate().insert(person);}//删除所有public void removeAll(){List<Person>list = this.finAll();If(list != null){for(Person person:list){getMongoTemplate().remove(person) }}}//按ID删除public void removeOne(String id){Criteria criteria = Criteria.where(“id”).in(id);if(criteria != null){Query query = new Query(criteria);if(query != null && getMongoTemplate().findOne(query,Person.class)){getMongoTemplate().remoev(getMongoTemplate().findOne(query,Person.class));}}}}5.配置ApplicationContext.xml

我们使用了

<?xml version="1.0" encoding="UTF-8"?><beans xmlns=""xmlns:xsi=""xmlns:context=""xmlns:mongo="" xsi:schemaLocation=" "><!–以下为Spring配置–><!–设置MongoDB的连接端口–><mongo:mongo host="localhost" port="27017"></mongo:mongo><bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate"><constructor-arg ref="mongo"/><constructor-arg name="databaseName" value="db"/><constructor-arg name="defaultCollectionName" value="person"/ ></bean><!–配置bean,把PersonReposiory的实现类注入–><bean id="personRepository" class="com.mongo.repository.PersonRepository"><property name="mongoTemplate" ref="mongoTemplate"/></bean></beans>

ApplicationContext.xml代码如图,虽然左上角出现红X的错误提示。提示的

信息大概是有重复的注释。不用去管他,只要代码里面没有红线就好。

6.写测试类进行测试

创建一个有

public class Test{ private static log log = logFactory.getlog(Test.class.getName()); private AbstractRepository pr = null; //初始方法public void init(){log.debug(“开始启动”);ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”);pr = (PersonRepository) ac.getbean(“personRepository”);} //添加方法public void insert(){Person p = new Person(“id1”,“cuiran”,27);pr.insert(p);log.debug(“添加成功!”);}//按ID查询对象public void finOne(){String id = “id1”;Person p = pr.findOne(id);log.debug(p);}}//查询所有public void findAll(){List<Person> list = pr.findAll();log.debug(“查询结果:”);for(Person p:list){log.debug(p.toString);}} //测试方法public void start(){init(); //执行初始化insert(); //执行添加方法}//mian方法public static void main(String args []){Text text = new Text(); test.start();}

无做什么,记得为自己而做,那就毫无怨言。

使用MyEclipse对MongoDB数据库 进行增删改查操作

相关文章:

你感兴趣的文章:

标签云: