maven中添加依赖

http://mongodb.github.io/mongo-java-driver/

org.mongodb

mongodb-driver

3.4.1

org.mongodb

bson

3.4.1

JavaProject

连接数据库

连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。

连接数据库的Java代码如下:

import com.mongodb.MongoClient;

import com.mongodb.client.MongoDatabase;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

现在,让我们来编译运行程序并连接到数据库 mycol。

你可以根据你的实际环境改变 MongoDB JDBC 驱动的路径。

本实例将 MongoDB JDBC 启动包 mongo-java-driver-3.2.2.jar 放在本地目录下:

$ javac -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC.java

$ java -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC

Connect to database successfully

Authentication: true

本实例中 Mongo 数据库无需用户名密码验证。如果你的 Mongo 需要验证用户名及密码,可以使用以下代码:

package com.iwhere.rongyun.config;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;

import java.util.ArrayList;

import java.util.List;

import org.apache.commons.lang3.StringUtils;

import org.bson.Document;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import com.mongodb.MongoClient;

import com.mongodb.MongoClientOptions;

import com.mongodb.MongoCredential;

import com.mongodb.ServerAddress;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoDatabase;

@Configuration

public class MongoConfig {

private static Logger LOGGER = LoggerFactory.getLogger(MongoConfig.class);

@Value("${mongodb.hostports}")

private String hostports;

@Value("${mongodb.maxConnect}")

private String maxConnect;

@Value("${mongodb.maxWaitThread}")

private String maxWaitThread;

@Value("${mongodb.maxTimeOut}")

private String maxTimeOut;

@Value("${mongodb.maxWaitTime}")

private String maxWaitTime;

@Value("${mongodb.username}")

private String username;

@Value("${mongodb.password}")

private String password;

@Value("${mongodb.database}")

private String database;

@Value("${mongodb.collection")

private String collection;

@Bean

public MongoClient mongoClient() {

MongoClient mongoClient = null;

MongoClientOptions.Builder build = new MongoClientOptions.Builder();

build.connectionsPerHost(Integer.valueOf(maxConnect));

build.threadsAllowedToBlockForConnectionMultiplier(Integer.valueOf(maxWaitThread));

build.connectTimeout(Integer.valueOf(maxTimeOut) * 1000);

build.maxWaitTime(Integer.valueOf(maxWaitTime) * 1000);

MongoClientOptions options = build.build();

try {

List addrs = new ArrayList();

for (String hostport : hostports.split(", *")) {

if (StringUtils.isBlank(hostport)) {

continue;

}

hostport = hostport.trim();

ServerAddress serverAddress = new ServerAddress(hostport.split(":")[0],Integer.valueOf(hostport.split(":")[1]));

addrs.add(serverAddress);

}

MongoCredential credential = MongoCredential.createScramSha1Credential(username, database, password.toCharArray());

List credentials = new ArrayList();

credentials.add(credential);

mongoClient = new MongoClient(addrs,credentials, options);

LOGGER.info("【mongodb client】: mongodb客户端创建成功");

} catch (Exception e) {

LOGGER.error("【mongodb client】: mongodb客户端创建成功");

e.printStackTrace();

}

return mongoClient;

}

@Bean

public MongoDatabase mongoDatabase(MongoClient mongoClient) {

MongoDatabase mongoDatabase = mongoClient.getDatabase(database);

return mongoDatabase;

}

@Bean

public MongoCollection mongoCollection(MongoDatabase mongoDatabase) {

MongoCollection mongoCollection = mongoDatabase.getCollection(collection);

return mongoCollection;

}

}

通过spring配置文件注入所需的值即可, mondb.properties为:

mongodb.hostports=192.168.51.100:2,192.168.51.101:533,192.168.51.102:21

mongodb.maxConnect=50

mongodb.maxWaitThread=50

mongodb.maxTimeOut=60

mongodb.maxWaitTime=60

mongodb.username=name

mongodb.password=pass

mongodb.database=data

mongodb.collection=user_rongyun

创建集合

我们可以使用 com.mongodb.client.MongoDatabase 类中的createCollection()来创建集合

代码片段如下:

import com.mongodb.MongoClient;

import com.mongodb.client.MongoDatabase;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

mongoDatabase.createCollection("test");

System.out.println("集合创建成功");

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

获取集合

我们可以使用com.mongodb.client.MongoDatabase类的 getCollection() 方法来获取一个集合

代码片段如下:

import org.bson.Document;

import com.mongodb.MongoClient;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoDatabase;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

插入文档

我们可以使用com.mongodb.client.MongoCollection类的 insertMany() 方法来插入一个文档

代码片段如下:

import java.util.ArrayList;

import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoDatabase;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

//插入文档

/**

* 1. 创建文档 org.bson.Document 参数为key-value的格式

* 2. 创建文档集合List

* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)

* */

Document document = new Document("title", "MongoDB").

append("description", "database").

append("likes", 100).

append("by", "Fly");

List documents = new ArrayList();

documents.add(document);

collection.insertMany(documents);

System.out.println("文档插入成功");

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

编译运行以上程序,输出结果如下:

Connect to database successfully

集合 test 选择成功

文档插入成功

检索所有文档

我们可以使用 com.mongodb.client.MongoCollection 类中的 find() 方法来获取集合中的所有文档。

此方法返回一个游标,所以你需要遍历这个游标。

代码片段如下:

import org.bson.Document;

import com.mongodb.MongoClient;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoCursor;

import com.mongodb.client.MongoDatabase;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

//检索所有文档

/**

* 1. 获取迭代器FindIterable

* 2. 获取游标MongoCursor

* 3. 通过游标遍历检索出的文档集合

* */

FindIterable findIterable = collection.find();

MongoCursor mongoCursor = findIterable.iterator();

while(mongoCursor.hasNext()){

System.out.println(mongoCursor.next());

}

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

更新文档

你可以使用 com.mongodb.client.MongoCollection 类中的 updateMany() 方法来更新集合中的文档。

代码片段如下:

import org.bson.Document;

import com.mongodb.MongoClient;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoCursor;

import com.mongodb.client.MongoDatabase;

import com.mongodb.client.model.Filters;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

//更新文档 将文档中likes=100的文档修改为likes=200

collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));

//检索查看结果

FindIterable findIterable = collection.find();

MongoCursor mongoCursor = findIterable.iterator();

while(mongoCursor.hasNext()){

System.out.println(mongoCursor.next());

}

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

删除第一个文档

要删除集合中的第一个文档,首先你需要使用com.mongodb.DBCollection类中的 findOne()方法来获取第一个文档,然后使用remove 方法删除。

代码片段如下:

import org.bson.Document;

import com.mongodb.MongoClient;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoCursor;

import com.mongodb.client.MongoDatabase;

import com.mongodb.client.model.Filters;

public class MongoDBJDBC{

public static void main( String args[] ){

try{

// 连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

// 连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

//删除符合条件的第一个文档

collection.deleteOne(Filters.eq("likes", 200));

//删除所有符合条件的文档

collection.deleteMany (Filters.eq("likes", 200));

//检索查看结果

FindIterable findIterable = collection.find();

MongoCursor mongoCursor = findIterable.iterator();

while(mongoCursor.hasNext()){

System.out.println(mongoCursor.next());

}

}catch(Exception e){

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

使用dbCollection进行操作

package com.iwhere.test2;

import java.util.List;

import java.util.Set;

import java.util.regex.Pattern;

import org.bson.types.ObjectId;

import org.junit.Before;

import org.junit.BeforeClass;

import org.junit.Test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.data.mongodb.core.MongoTemplate;

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.QueryBuilder;

import com.mongodb.QueryOperators;

public class MongoDBTest {

Mongo mongo = null;

DB db = null;

DBCollection userCollection = null;

private MongoTemplate mongoTemplate;

@Before

public void setUp() throws Exception {

// 创建一个MongoDB的数据库连接对象,无参数的话它默认连接到当前机器的localhost地址,端口是27017。

// mongo = new Mongo("192.168.225.101", 27017);

// 得到一个test的数据库,如果mongoDB中没有这个数据库,当向此库中添加数据的时候会自动创建

// db = mongo.getDB("test");

// db.authenticate("test", "test".toCharArray());

// 获取到一个叫做"user"的集合,相当于关系型数据库中的"表"

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-mvc-servlet.xml");

mongoTemplate = (MongoTemplate) context.getBean("mongoTemplate");

userCollection = mongoTemplate.getCollection("user");

}

/**

* 查询所有的集合名称

*/

public void testGetAllCollections() {

Set collectionNames = db.getCollectionNames();

for (String name : collectionNames) {

System.out.println("collectionName:" + name);

}

}

/**

* 查询所有的用户信息

*/

@Test

public void testFind() {

testInitTestData();

// find方法查询所有的数据并返回一个游标对象

DBCursor cursor = userCollection.find();

while (cursor.hasNext()) {

print(cursor.next());

}

// 获取数据总条数

int sum = cursor.count();

System.out.println("sum===" + sum);

}

/**

* 查询第一条数据

*/

public void testFindOne() {

testInitTestData();

// 只查询第一条数据

DBObject oneUser = userCollection.findOne();

print(oneUser);

}

/**

* 条件查询

*/

public void testConditionQuery() {

testInitTestData();

// 查询id=50a1ed9965f413fa025166db

DBObject oneUser = userCollection.findOne(new BasicDBObject("_id", new ObjectId("50a1ed9965f413fa025166db")));

print(oneUser);

// 查询age=24

List userList1 = userCollection.find(new BasicDBObject("age", 24)).toArray();

print(" find age=24: ");

printList(userList1);

// 查询age>=23

List userList2 = userCollection.find(new BasicDBObject("age", new BasicDBObject("$gte", 23))).toArray();

print(" find age>=23: ");

printList(userList2);

// 查询age<=20

List userList3 = userCollection.find(new BasicDBObject("age", new BasicDBObject("$lte", 20))).toArray();

print(" find age<=20: ");

printList(userList3);

// 查询age!=25

List userList4 = userCollection.find(new BasicDBObject("age", new BasicDBObject("$ne", 25))).toArray();

print(" find age!=25: ");

printList(userList4);

// 查询age in[23,24,27]

List userList5 = userCollection

.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN, new int[] { 23, 24, 27 })))

.toArray();

print(" find agein[23,24,27]: ");

printList(userList5);

// 查询age not in[23,24,27]

List userList6 = userCollection

.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.NIN, new int[] { 23, 24, 27 })))

.toArray();

print(" find age not in[23,24,27]: ");

printList(userList6);

// 查询29>age>=20

List userList7 = userCollection.find(new BasicDBObject("age", new BasicDBObject("$gte", 20).append("$lt", 29)))

.toArray();

print(" find 29>age>=20: ");

printList(userList7);

// 查询age>24 and name="zhangguochen"

BasicDBObject query = new BasicDBObject();

query.put("age", new BasicDBObject("$gt", 24));

query.put("name", "zhangguochen");

List userList8 = userCollection.find(query).toArray();

print(" find age>24 and name='zhangguochen':");

printList(userList8);

// 和上面的查询一样,用的是QueryBuilder对象

QueryBuilder queryBuilder = new QueryBuilder();

queryBuilder.and("age").greaterThan(24);

queryBuilder.and("name").equals("zhangguochen");

List userList82 = userCollection.find(queryBuilder.get()).toArray();

print(" QueryBuilder find age>24 and name='zhangguochen':");

printList(userList82);

// 查询所有的用户,并按照年龄升序排列

List userList9 = userCollection.find().sort(new BasicDBObject("age", 1)).toArray();

print(" find all sort age asc: ");

printList(userList9);

// 查询特定字段

DBObject query1 = new BasicDBObject();// 要查的条件

query.put("age", new BasicDBObject("$gt", 20));

DBObject field = new BasicDBObject();// 要查的哪些字段

field.put("name", true);

field.put("age", true);

List userList10 = userCollection.find(query1, field).toArray();

print(" select name,age where age>20");

printList(userList10);

// 查询部分数据

DBObject query2 = new BasicDBObject();// 查询条件

query2.put("age", new BasicDBObject("$lt", 27));

DBObject fields = new BasicDBObject();// 查询字段

fields.put("name", true);

fields.put("age", true);

List userList11 = userCollection.find(query2, fields, 1, 1).toArray();

print(" select age,name from user skip 1 limit 1:");

printList(userList11);

// 模糊查询

DBObject fuzzy_query = new BasicDBObject();

String keyWord = "zhang";

Pattern pattern = Pattern.compile("^" + keyWord + ".*$", Pattern.CASE_INSENSITIVE);

fuzzy_query.put("name", pattern);

// 根据name like zhang%查询

List userList12 = userCollection.find(fuzzy_query).toArray();

print(" select * from user where name like 'zhang*'");

printList(userList12);

}

/**

* 删除用户数据

*/

public void testRemoveUser() {

testInitTestData();

DBObject query = new BasicDBObject();

// 删除age>24的数据

query.put("age", new BasicDBObject("$gt", 24));

userCollection.remove(query);

printList(userCollection.find().toArray());

}

/**

* 修改用户数据

*/

public void testUpdateUser() {

// update(query,set,false,true);

// query:需要修改的数据查询条件,相当于关系型数据库where后的语句

// set:需要设的值,相当于关系型数据库的set语句

// false:需要修改的数据如果不存在,是否插入新数据,false不插入,true插入

// true:如果查询出多条则不进行修改,false:只修改第一条

testInitTestData();

// 整体更新

DBObject query = new BasicDBObject();

query.put("age", new BasicDBObject("$gt", 15));

DBObject set = userCollection.findOne(query);// 一定是查询出来的DBObject,否则会丢掉一些列,整体更新

set.put("name", "Abc");

set.put("age", 19);

set.put("interest", new String[] { "hadoop", "study", "mongodb" });

DBObject zhangguochenAddress = new BasicDBObject();

zhangguochenAddress.put("address", "henan");

set.put("home", zhangguochenAddress);

userCollection.update(query, // 需要修改的数据条件

set, // 需要赋的值

false, // 数据如果不存在,是否新建

false);// false只修改第一条,true如果有多条就不修改

printList(userCollection.find().toArray());

// 局部更新,只更改某些列

// 加上$set会是局部更新,不会丢掉某些列,只把name更新为"jindazhong",年龄更新为123

BasicDBObject set1 = new BasicDBObject("$set", new BasicDBObject("name", "jindazhong").append("age", 123));

userCollection.update(query, // 需要修改的数据条件

set1, // 需要赋的值

false, // 数据如果不存在,是否新建

false);// false只修改第一条,true如果有多条就不修改

printList(userCollection.find().toArray());

// 批量更新

// user.updateMulti(new BasicDBObject("age",new

// BasicDBObject("$gt",16)),

// new BasicDBObject("$set", new

// BasicDBObject("name","jindazhong").append("age", 123)));

// printList(user.find().toArray());

}

/**

* 初始化测试数据

*/

public void testInitTestData() {

userCollection.drop();

DBObject zhangguochen = new BasicDBObject();

zhangguochen.put("name", "zhangguochen");

zhangguochen.put("age", 25);

zhangguochen.put("interest", new String[] { "hadoop", "study", "mongodb" });

DBObject zhangguochenAddress = new BasicDBObject();

zhangguochenAddress.put("address", "henan");

zhangguochen.put("home", zhangguochenAddress);

DBObject jindazhong = new BasicDBObject();

jindazhong.put("name", "jindazhong");

jindazhong.put("age", 21);

jindazhong.put("interest", new String[] { "hadoop", "mongodb" });

jindazhong.put("wife", "小龙女");

DBObject jindazhongAddress = new BasicDBObject();

jindazhongAddress.put("address", "shanghai");

jindazhong.put("home", jindazhongAddress);

DBObject yangzhi = new BasicDBObject();

yangzhi.put("name", "yangzhi");

yangzhi.put("age", 22);

yangzhi.put("interest", new String[] { "shopping", "sing", "hadoop" });

DBObject yangzhiAddress = new BasicDBObject();

yangzhiAddress.put("address", "hubei");

yangzhi.put("home", yangzhiAddress);

DBObject diaoyouwei = new BasicDBObject();

diaoyouwei.put("name", "diaoyouwei");

diaoyouwei.put("age", 23);

diaoyouwei.put("interest", new String[] { "notejs", "sqoop" });

DBObject diaoyouweiAddress = new BasicDBObject();

diaoyouweiAddress.put("address", "shandong");

diaoyouwei.put("home", diaoyouweiAddress);

DBObject cuichongfei = new BasicDBObject();

cuichongfei.put("name", "cuichongfei");

cuichongfei.put("age", 24);

cuichongfei.put("interest", new String[] { "ebsdi", "dq" });

cuichongfei.put("wife", "凤姐");

DBObject cuichongfeiAddress = new BasicDBObject();

cuichongfeiAddress.put("address", "shanxi");

cuichongfei.put("home", cuichongfeiAddress);

DBObject huanghu = new BasicDBObject();

huanghu.put("name", "huanghu");

huanghu.put("age", 25);

huanghu.put("interest", new String[] { "shopping", "study" });

huanghu.put("wife", "黄蓉");

DBObject huanghuAddress = new BasicDBObject();

huanghuAddress.put("address", "guangdong");

huanghu.put("home", huanghuAddress);

DBObject houchangren = new BasicDBObject();

houchangren.put("name", "houchangren");

houchangren.put("age", 26);

houchangren.put("interest", new String[] { "dota", "dq" });

DBObject houchangrenAddress = new BasicDBObject();

houchangrenAddress.put("address", "shandong");

houchangren.put("home", houchangrenAddress);

DBObject wangjuntao = new BasicDBObject();

wangjuntao.put("name", "wangjuntao");

wangjuntao.put("age", 27);

wangjuntao.put("interest", new String[] { "sport", "study" });

wangjuntao.put("wife", "王语嫣");

DBObject wangjuntaoAddress = new BasicDBObject();

wangjuntaoAddress.put("address", "hebei");

wangjuntao.put("home", wangjuntaoAddress);

DBObject miaojiagui = new BasicDBObject();

miaojiagui.put("name", "miaojiagui");

miaojiagui.put("age", 28);

miaojiagui.put("interest", new String[] { "hadoop", "study", "linux" });

miaojiagui.put("wife", null);

DBObject miaojiaguiAddress = new BasicDBObject();

miaojiaguiAddress.put("address", "未知");

miaojiagui.put("home", miaojiaguiAddress);

DBObject longzhen = new BasicDBObject();

longzhen.put("name", "longzhen");

longzhen.put("age", 29);

longzhen.put("interest", new String[] { "study", "cook" });

longzhen.put("wife", null);

DBObject longzhenAddress = new BasicDBObject();

longzhenAddress.put("address", "sichuan");

longzhen.put("home", longzhenAddress);

userCollection.insert(zhangguochen);

userCollection.insert(jindazhong);

userCollection.insert(yangzhi);

userCollection.insert(diaoyouwei);

userCollection.insert(cuichongfei);

userCollection.insert(huanghu);

userCollection.insert(houchangren);

userCollection.insert(wangjuntao);

userCollection.insert(miaojiagui);

userCollection.insert(longzhen);

}

public void testRemove() {

userCollection.drop();

}

/**

* 打印数据

*

* @param object

*/

public void print(Object object) {

System.out.println(object);

}

/**

* 打印列表

*

* @param objectList

*/

public void printList(List objectList) {

for (Object object : objectList) {

print(object);

}

}

}

编译运行以上程序,输出结果如下:

Connect to database successfully

集合 test 选择成功

java连接mongo_java 连接mongodb相关推荐

  1. java mongodb 关闭连接_如何在mongodb上使用java驱动程序保持连接池关闭?

    我正在从 java驱动程序2.12.3升级到3.3.0.奇怪的是,收集池似乎突然"起作用". 我的设置如下: Connection在主线程中建立: mongoClient = ne ...

  2. java使用原生语句操作mongo_Java 中 MongoDB 使用指南

    MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB. 一.引入MongoDB Java Driver包 如果需要操作MongoDB的J ...

  3. java内连接外连接_SQL中的内连接与外连接--Java学习网

    核心提示:连接运算格式链接运算由两部分构成:连接类型和连接条件连接类型可分为:INNER JOIN 内连接LEFT OUTER JOIN 左外连接RIGHT OUTER JOIN 右外连接FULL O ...

  4. java nio 断开连接_浅尝Java NIO与Tomcat连接调优

    本文使用jdk1.8.0_45和spring boot 2.1.4.RELEASE 涉及源码都放在https://github.com/sabersword/Nio 前因 这周遇到一个连接断开的问题, ...

  5. java使用ssh连接Linux并执行命令

    maven pom.xml配置:<dependency><groupId>com.jcraft</groupId><artifactId>jsch< ...

  6. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  7. java前端长连接框架_Java如何实现长连接

    实现原理: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的. 如果,长时间未发送维持连接包,服务端程序将断开连接. 客户端: Client通过持有Socket的对象,可以随时(使 ...

  8. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  9. android tcp判断服务器是否断开,Android tcp客户端连接,然后从java服务器断开连接...

    我在我的电脑上执行java服务器并让我的android设备连接到它.我可以连接它,但一旦连接就会断开连接.我确信在android方面我需要做一些事情,但我很少迷失它.我有互联网许可,所以很好.Andr ...

最新文章

  1. WPF怎么寻找在ItemTemplate内部的各种控件
  2. python爬虫软件-一些Python爬虫工具
  3. 【bzoj2724】[Violet 6]蒲公英 分块+STL-vector
  4. boost::units模块实现带有转换的用户定义单位的测试程序
  5. REBOOT Reload - 可安装在优盘的 Windows 和 DOS 启动盘
  6. Phoenix:全局索引设计实践
  7. 20200707:动态规划专题之不同路径
  8. 《Unix环境高级编程》读书笔记 第5章-标准I/O流
  9. 一图搞懂华三MVRP的配置与作用
  10. Elastic search相关
  11. linux7mysql集群_linux下mysql集群搭建
  12. 将Subversion(SVN)日志记录导出到excel表格(理论windows和Linux通用)
  13. Pytorch基于 LSTM 的自动写诗
  14. python滑稽代码
  15. python ttf_利用python工具生成彩色字体ttf
  16. Flex TLF 相关知识
  17. 神经网络未来发展趋势,神经网络未来发展前景
  18. weglogic 创建domian启动卡住
  19. 西北工业大学明德学院计算机老师,师资队伍结构
  20. 网页服务器修复,网页被劫持 网页被劫持后跳转发布网修复方法

热门文章

  1. Android 中文字体的设置方法和使用技巧
  2. 揭秘315黑客wifi,如何保障APP数据安全
  3. highcharts插件使用总结和开发中遇到的问题及解决办法
  4. lintcode:Number of Islands 岛屿的个数
  5. ACL in 和 out
  6. vector中resize()和reserve()区别
  7. 剑指offer——面试题31:连续子数组的最大和
  8. Leetcode 338.比特位计数
  9. 【前端】jQuery事件处理
  10. onenote 不能同步的原因及解决方法(教训总结)