java的crud代码 java @code

java怎么连接mangodb?需要哪些步骤?开发环境java的crud代码:
System:Win7
IDE:eclipse
Database:mongoDB
开发依赖库:
JavaEE5、mongo-2.5.3.jar、junit.jar、org.hamcrest.core_1.1.0.v20090501071000.jar
一、准备工作
1、下载Mongodb对java支持jar包
jar包下载地址:
mongoDB对Java的相关支持、技术:
驱动源码下载:
在线查看源码:
2、 下面建立一个JavaProject工程 , 导入下载下来的驱动包 。即可在Java中使用mongoDB,目录如下:
二、Java操作MongoDB示例
在本示例之前你需要启动mongod.exe的服务,启动后,下面的程序才能顺利执行;
1、 建立simpleTest.java , 完成简单的mongoDB数据库操作
Mongo mongo = new Mongo();
这样就创建java的crud代码了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017 。
DB db = mongo.getDB(“test”);
这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的 。mongoDB可以在没有创建这个数据库的情况下,完成数据的添加操作 。当添加的时候,没有这个库,mongoDB会自动创建当前数据库 。
得到了db,下一步java的crud代码我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成 。
DBCollection users = db.getCollection("users");
这样就获得了一个DBCollection , 它相当于我们数据库的“表” 。
查询所有数据:
DBCursor cur = users.find();
while (cur.hasNext()) {
【java的crud代码 java @code】System.out.println(cur.next());
}
完整源码:
package com.mongodb;
import java.net.UnknownHostException;
import com.mongodb.util.JSON;
public class simpleTest {
public static void main(String[] args) throws UnknownHostException, MongoException {
Mongo mg = new Mongo();
//查询所有的Database
for (String name : mg.getDatabaseNames()) {
System.out.println("dbName: "name);
}
DB db = mg.getDB("test");
//查询所有的聚集集合
for (String name : db.getCollectionNames()) {
System.out.println("collectionName: "name);
}
DBCollection users = db.getCollection("users");
//查询所有的数据
DBCursor cur = users.find();
while (cur.hasNext()) {
System.out.println("while=" cur.next());
}
System.out.println("count=" cur.count());
System.out.println("CursorId=" cur.getCursorId());
System.out.println("cur=" JSON.serialize(cur));
}
}
2、 完成CRUD操作,首先建立一个curdTset.java , 基本测试代码如下:
package com.mongodb;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import org.bson.types.ObjectId;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.mongodb.util.JSON;
public class curdTset {
private Mongo mg = null;
private DB db;
private DBCollection users; // 连接的mongodb数据库
@Before
public void init() {
System.out.println("Test Before...");
try {
mg = new Mongo();
// mg = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
// 获取test DB;如果默认没有创建,mongodb会自动创建
db = mg.getDB("test");
// 获取users DBCollection;如果默认没有创建,mongodb会自动创建
users = db.getCollection("users");
}
@After
public void destory() {
System.out.println("Test After...");
if (mg != null) {
mg.close();
}
mg = null;
db = null;
users = null;
System.gc();
}
public void print(Object o) {
System.out.println(o);
}
private void queryAll() {
print("查询users的所有数据:");
// db游标
DBCursor cur = users.find();
int i = 1;
while (cur.hasNext()) {
print("记录" i ":" cur.next());
i;
}
}
@Test
public void add() {
//先查询所有数据
queryAll();
System.out.println("=============================== ADD start =======================================");
print("ADD count: "users.count());
DBObject user = new BasicDBObject();
user.put("name", "hoojo");
user.put("age", 24);
user.put("sex", "男");
print(users.save(user).getN());
//添加多条数据,传递Array对象
print(users.insert(user, new BasicDBObject("name", "tom")).getN());
//添加List集合
List list = new ArrayList();
list.add(user);
DBObject user2 = new BasicDBObject("name", "lucy");
user.put("age", 22);
list.add(user2);
//添加List集合
print(users.insert(list).getN());
//查询下数据,看看是否添加成功
print("count="users.count());
System.out.println("=============================== ADD end =======================================");
//查询所有数据
queryAll();
}
@Test
public void remove() {
queryAll();
print("删除id = 4dde2b06feb038463ff09042:"users.remove(new BasicDBObject("_id", new ObjectId("4dde2b06feb038463ff09042"))).getN());
print("remove age = 24: "users.remove(new BasicDBObject("age", new BasicDBObject("$gte", 24))).getN());
System.out.println("=============================== REMOVE end =======================================");
//查询所有数据
queryAll();
}
@Test
public void modify() {
print("修改:"users.update(new BasicDBObject("_id", new ObjectId("4dde25d06be7c53ffbd70906")), new BasicDBObject("age", 99)).getN());
print("修改:"users.update(
new BasicDBObject("_id", new ObjectId("4dde2b06feb038463ff09042")),
new BasicDBObject("age", 121),
true,// 如果数据库不存在,是否添加
false// 多条修改
).getN());
print("修改:"users.update(
new BasicDBObject("name", "haha"),
new BasicDBObject("name", "dingding"),
true,// 如果数据库不存在,是否添加
false// false只修改第一条 , true如果有多条就不修改
).getN());
//当数据库不存在就不修改、不添加数据 , 当多条数据就不修改
//print("修改多条:"coll.updateMulti(new BasicDBObject("_id", new ObjectId("4dde23616be7c19df07db42c")), new BasicDBObject("name", "199")));
System.out.println("=============================== EDIT end =======================================");
//查询所有数据
queryAll();
}
@Test
public void testOthers() {
//查询所有数据
queryAll();
DBObject user = new BasicDBObject();
user.put("name", "hoojo");
user.put("age", 24);
//JSON 对象转换
print("serialize: "JSON.serialize(user));
//反序列化
print("parse: "JSON.parse("{ "name" : "hoojo" , "age" : 24}"));
print("判断temp Collection是否存在: "db.collectionExists("users"));
//如果不存在就创建
if (!db.collectionExists("users")) {
DBObject options = new BasicDBObject();
options.put("size", 20);
options.put("capped", 20);
options.put("max", 20);
print(db.createCollection("account", options));
}
//设置db为只读
db.setReadOnly(true);
//只读不能写入数据
db.getCollection("test").save(user);
}
}
java怎么实现页面提交的批数据操作 , 例如通过一个表单实现多条数据的CRUD操作?我只能说下我的思路:
1、提交数据,我简单分为两种:表单提交、AJAX付值提交 。两种各有优缺点,表单提交方便简单 , 只要把FORM表单SUBMIT一下所有有name属性的input标签都会提交,但这个也成为了它的缺点,INPUT标签就会增多、乱而且只能放在FORM中 , 对多条记录操作时更显不便;AJAX提交最大的好处在于有回调函数可以对操作成功与否进行处理 。struts或servlet接收数据是差不多的,声明对应的变量,比如:FORM表单中有input name="aa" type="text"/那么你就在action类写一个有get()方法aa变量就可以得到表单返回的数据了,用request.getParameter("aa")也可以 。
2、CUD操作都可以对多条记录同时进行,一般就是把这条记录的ID和它对应的内容经过处理后通过AJAX提交到后台,比如删除:只要记录的ID就可以删除了,就可以把要删除的记录ID以“,”分隔,后台接收以后拆分出来执行SQL语句 。你所说到的循环SQL语句,也不一定 , 比如hibernate或自己手动写的SQL语句,删除时你就可以这样写:delete from 表 where id in (x,x,x,x……)此时只要一条SQL就足够了,修改时除非是为同一个字段同时修改 , 不然还是要循环才能做到的,这就是我的理解了,希望能帮到你 。
java中的crud , 程序怎么写,求赐教 。实际是两个问题:控制台命令解析和文件操作 。
建议分成两块,代码结构更清晰 , 也有利于检查思路 。
命令解析这种简单的就要字符串操作检查就行了,以后要做更复杂的可以用词法分析程序来作 。
文件操作部分设计个接口,包括CRUD方法,以及必要的参数,每个方法里分别对文件进行遍历查找对应数据进行修改 。更好的做法是把用户数据放在数据库里 。
java的crud代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于java @code、java的crud代码的信息别忘了在本站进行查找喔 。

    推荐阅读