日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

此篇寫的是MongoDB數據庫在JAVA程序中的基本功能,這是一篇多年前寫的手記,因此采用的技術比較老(采用的是MyEclipse和Jar包的方式),雖然現有的技術已經更新換代,但操作原理基本相同,maven跟Jar也沒多少區別,Spring的XML與注解意思也一樣,此篇傳送的是一種思想,代碼只作參考,

使用MyEclipse對MongoDB數據庫進行增刪改查操作

1.導入JAR包

java對MongoDB數據庫操作

 

使用了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方法**/
.................................
}
 
/**以上代碼中一共有三個構造方法,用于傳遞參數數據**/ 

 

java對MongoDB數據庫操作

 

 

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);
}

 

java對MongoDB數據庫操作

 

 

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的錯誤提示。提示的

信息大概是有重復的注釋。不用去管他,只要代碼里面沒有紅線就好。

java對MongoDB數據庫操作

 

 

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();
}

分享到:
標簽:java MongoDB
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定