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

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

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

1.导入JAR包

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

2.创建一个Person实体类

源代码如下:

public class Person(){
//属性
Private String id;	 //id
Private String name;	 //name
Private 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. 创建一个名为AbstractRepository 的接口,源代码如下:

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.创建一个名为PersonRepository的类并现实AbstractRepository 接口

源代码如下:

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

我们使用了Spring,自然要配置ApplicationContext;因为各版本不同,所以ApplicationContext.xml中的系统默认头代码请复制我以下的来使用,要不然会代码错误:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xmlns:context="http://www.springframework.org/schema/context"            xmlns:mongo="http://www.springframework.org/schema/data/mongo"  xsi:schemaLocation="http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.0.xsd        http://www.springframework.org/schema/data/mongo         http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  

<!--以下为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.写测试类进行测试

创建一个有mian方法的测试类Test:部分方法的源代码如下:

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();
}
时间: 2024-10-12 09:23:29

使用MyEclipse对MongoDB数据库 进行增删改查操作的相关文章

nodejs对mongodb数据库的增删改查操作(转载)

首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux 另外可以参考我的另一篇博文 http://www.cnblogs.com/sexintercourse/p/5774310.html 指导mongo和nodejs的开发 然后下载nodejs的mongodb的driver npm install mongodb 编写一个测试的程序: 1 v

基于Java的XML文件模拟数据库进行增删改查操作

我们知道XML文件既可以用来进行数据的传输,也可以配合DTD约束文件用来作为配置文件,当然其本质就是一个加了标签以及众多空格保持格式的字符串,那么就可以用Java进行操作. 本例是使用MyEclipse带入DOM4j解析时要用的jar包的基础上做的:当然DOM4j相对于DOM SAX 等解析方式的方便程度是不言而喻的. 下面是本次用例XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> 

Django中ORM对数据库的增删改查操作

什么是ORM?  ORM(对象关系映射)指用面向对象的方法处理数据库中的创建表以及数据的增删改查等操作. 简而言之,就是将数据库的一张表当作一个类,数据库中的每一条记录当作一个对象.在Django中定义一个类,就是在数据库中创建一张表格.在Django中实例化一个类的对象,就是在数据库中增加了一条记录.在Django中删除一个对象,就是在数据库中删除了一条记录.在DJango中更改一个对象的属性,就是在数据库中修改一条记录的值.在django中遍历查询对象的属性值,就是在数据库中查询记录的值.

Java连接本地MySQL数据库进行增删改查操作

package Dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import entity.UserInfo; public class JDBC { Connection conn

Django数据库基本增删改查操作

urls.py文件里的内容---实现url路由 from django.contrib import admin from django.urls import path,include from app01 import views urlpatterns = [ path('credata/', views.credata), ] views.py文件里方法定义 from django.shortcuts import HttpResponse import pymysql pymysql.

对数据库进行增删改查操作

本篇文章接上一篇 使用的连接是上一章的JDBC驱动链接的SQLServer驱动 package addressUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.text.DefaultEditorKit.I

MyBatis对数据库的增删改查操作,简单示例

之前一直实用Hibernate进行开发,最近公司在使用Mybatis,根据网上的示例,做了一个简单的Demo,以便日后复习 总体结构如下图 首先是创建一个工程,然后导入两个jar包,然后编写mybatis的jdbc配置文件Configuration.xml Configuration.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-/

通过用户模型,对数据库进行增删改查操作(2017.11.15)

增加:db.session.add(user)db.session.commit() 查询:User.query.filter(User.username == 'mis1114').first() 修改:user.password = '111111'db.session.commit() 删除:db.session.delete(user)db.session.commit() from flask import Flask, render_template from flask_sqlal

通过用户模型,对数据库进行增删改查操作。

增加:db.session.add(user)db.session.commit() 查询:User.query.filter(User.username == 'mis1114').first() 修改:user.password = '111111'db.session.commit() 删除:db.session.delete(user)db.session.commit() from flask import Flask,render_template from flask_sqlalc