如何使用spring数据或本地java适配器连接到数据存储来创建应用程序?

Spring Data提供了一套用Java访问MongoDB数据的API,使得我们可以用类似Spring的JdbcTemplate类的方式操作MongoDB,大大简化了我们的开发步骤。

一.准备工作

像往常一样,我们首先需要准备一系列的jar包。这里我截了一张图,如下图。

哪个罐子包?Commons-beans-1.8.3,commons-lang-2.6,Commons-collections-3.2 . 1,Commons-logging-1.1,Ezmorph-1。

二、数据库连接配置

使用Spring数据连接MongoDB数据库有两种方式:一种是通过JDBC连接,另一种是通过Spring读取XML配置文件连接。

这里介绍第一种连接方式,后面再介绍第二种连接方式。

1.创建配置文件“DataSource.properties ”,以存储数据库信息供以后修改。内容如下:

主机=127.0.0.1

Port=27017

数据库=国王

用户名=国王

密码=国王

以上配置为:目标数据库所在的服务器地址、数据库连接端口、数据库名称、用户名和密码。*请根据实际情况进行配置。

2.获取数据库连接

这里就不介绍负责数据库连接的接口和类了。有兴趣的可以点击链接查看官方文档:界面?MongoOperations?还有阶级?MongoTemplate .其中,MongoTemplate类实现了接口MongoOperations。

下面我附上我写的MongoUtil类的源代码。这个类主要是封装代码得到一个MongoTemplate的实例。

包裹?com . report . util;

进口?Java . net . unknown host exception;

进口?Java . util . locale;

进口?Java . util . resource bundle;

进口?org . spring framework . data . authentic ation . user credentials;

进口?org . spring framework . data . MongoDB . core . mongooperations;

进口?org . spring framework . data . MongoDB . core . mongotemplate;

进口?org . spring framework . data . MongoDB . core . simplemongodbfactory;

进口?com . MongoDB . mongo;

公?班级?蒙戈提尔?{

私人?易变?静电?MongoOperations?mongoOperation

私人?静电?决赛?字符串?配置文件名称?=?”数据源”;

私人?静电?决赛?字符串?KEY_HOST?=?”主机”;

私人?静电?决赛?字符串?KEY_PORT?=?”端口”;

私人?静电?决赛?字符串?KEY_DATABASE?=?”数据库”;

私人?静电?决赛?字符串?KEY_USERNAME?=?”用户名”;

私人?静电?决赛?字符串?KEY_PASSWORD?=?”密码”;

私人?MongoUtil()?{

}

公?静电?MongoOperations?getMongoOperation()?{

如果?(mongoOperation?==?null)?{

资源捆绑包?资源捆绑包?=?ResourceBundle.getBundle(

配置文件名称?locale . get default());//获取配置文件“DataSource.properties”

字符串?hostAddr?=?resource bundle . getstring(KEY _ HOST)?+?":"

+?resource bundle . getstring(KEY _ PORT);

用户凭据?用户凭据?=?新的?用户凭据(

resource bundle . getstring(KEY _ USERNAME),

resource bundle . getstring(KEY _ PASSWORD));

试试?{

mongoOperation?=?新的?MongoTemplate(

新的?SimpleMongoDbFactory(新?Mongo(hostAddr),

resource bundle . getstring(KEY _ DATABASE),

user credentials));

}?接住?(UnknownHostException?e)?{

e . printstacktrace();

}

}

回归?mongoOperation

}

}3.在MongoDB中创建测试数据数据库、表和用户。

在MongoDB中创建数据库时,使用的是“Use XXX”命令,因此在创建数据库之前需要进行一些额外的操作。在这里,您选择创建表“king”,如果没有,您可以使用“db.king.drop()”删除该表。点击这里获取MongoDB详细的指令文档,也可以输入“help”获得帮助。

4.编写测试代码来验证数据库连接。

创建一个测试类TestMongoDB.java。

包裹?com.report.Tests

进口?org . spring framework . data . MongoDB . core . query . criteria;

进口?org . spring framework . data . MongoDB . core . query . query;

进口?com . report . util . mongoutil;

公?班级?TestMongoDB?{

私人?字符串?名字;

私人?字符串?姓氏;

TestMongoDB(字符串?名字?字符串?姓什么?){

这个.名字?=?名字;

这个姓?=?姓氏;

}

公?字符串?getFirstName()?{

回归?名字;

}

公?作废?setFirstName(String?名字)?{

这个.名字?=?名字;

}

公?字符串?getLastName()?{

回归?姓氏;

}

公?作废?setLastName(字符串?姓氏)?{

这个姓?=?姓氏;

}

公?静电?作废?main(String[]?args){

TestMongoDB?测试?=?新的?TestMongoDB("John ",《康纳》);

MongoUtil.getMongoOperation()。插入(测试);

TestMongoDB?储存?=?MongoUtil.getMongoOperation()。findOne(新?查询(Criteria.where("firstName ")。is(test.getFirstName()),

testmongodb . class);

如果?(存储?!=?空)

system . out . println(stored . get first name()?+?"?"?+?stored . get last name());

}

}Eclipse控制台输出信息:?约翰·康纳

验证数据库记录: