[Spring Data MongoDB]学习笔记--建立数据库的连接
2014-08-05 21:44
423 查看
1. 有了上一篇的Mongo后,连接数据库我们还需要更多的信息,比如数据库名字,用户名和密码等。
我们可以继续来配置MongoDbFactory的实例。
然后我们可以继续用MongoDbFactory来创建MongoTemplate的实例。
其中的SimpleMongoDbFactory是MongoDbFactory的实现。
2.1 通过Java based metadata来进行配置
如果需要认证的话,多加一个参数。
2.2 通过xml进行配置
简单用法(Mongo用默认的主机和端口号)
提供主机和端口配置的例子
如果需要配置更多的options,我们可以用mongo-ref来指向一个已有的bean。
我们可以继续来配置MongoDbFactory的实例。
public interface MongoDbFactory { DB getDb() throws DataAccessException; DB getDb(String dbName) throws DataAccessException; }
然后我们可以继续用MongoDbFactory来创建MongoTemplate的实例。
public class MongoApp { private static final Log log = LogFactory.getLog(MongoApp.class); public static void main(String[] args) throws Exception { MongoOperations mongoOps = new MongoTemplate(new SimpleMongoDbFactory(new Mongo(), "database")); mongoOps.insert(new Person("Joe", 34)); log.info(mongoOps.findOne(new Query(where("name").is("Joe")), Person.class)); mongoOps.dropCollection("person"); } }
其中的SimpleMongoDbFactory是MongoDbFactory的实现。
2.1 通过Java based metadata来进行配置
@Configuration public class MongoConfiguration { public @Bean MongoDbFactory mongoDbFactory() throws Exception { return new SimpleMongoDbFactory(new Mongo(), "database"); } }
如果需要认证的话,多加一个参数。
@Configuration public class MongoConfiguration { public @Bean MongoDbFactory mongoDbFactory() throws Exception { UserCredentials userCredentials = new UserCredentials("joe", "secret"); return new SimpleMongoDbFactory(new Mongo(), "database", userCredentials); } public @Bean MongoTemplate mongoTemplate() throws Exception { return new MongoTemplate(mongoDbFactory()); } }
2.2 通过xml进行配置
简单用法(Mongo用默认的主机和端口号)
<mongo:db-factory dbname="database">
提供主机和端口配置的例子
<mongo:db-factory id="anotherMongoDbFactory" host="localhost" port="27017" dbname="database" username="joe" password="secret"/>
如果需要配置更多的options,我们可以用mongo-ref来指向一个已有的bean。
<context:property-placeholder location="classpath:/com/myapp/mongodb/config/mongo.properties"/> <mongo:mongo host="${mongo.host}" port="${mongo.port}"> <mongo:options connections-per-host="${mongo.connectionsPerHost}" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}" write-number="1" write-timeout="0" write-fsync="true"/> </mongo:mongo> <mongo:db-factory dbname="database" mongo-ref="mongo"/> <bean id="anotherMongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/> </bean>
相关文章推荐
- [Spring Data MongoDB]学习笔记--_id和类型映射
- [Spring Data MongoDB]学习笔记--MapReduce
- [Spring Data MongoDB]学习笔记--MongoTemplate插入修改操作
- [Spring Data MongoDB]学习笔记--牛逼的MongoTemplate
- Java 学习笔记07:使用Spring的Dao连接数据库
- Spring Data MongoDB]学习笔记--牛逼的MongoTemplate
- [Spring Data MongoDB]学习笔记--MongoTemplate查询操作
- [Spring Data MongoDB]学习笔记--注册一个Mongo实例
- Spring Data JPA,基础学习笔记.
- TCP/IP详解--学习笔记(10)-TCP连接的建立与中止
- IBatis连接数据库学习笔记
- delphi学习笔记--ADO数据库连接组件TADOConnection
- Spring Data JPA,基础学习笔记.
- JAVA学习笔记4——JDBC方式连接数据库
- 学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例
- Java 学习笔记14:Spring 数据库数据源DBCP配置说明
- 黑马程序员之C#学习笔记:用户实例连接非内嵌式数据库
- C#学习笔记——(连接数据库)
- 学习笔记:jdbc连接、操作数据库SQL Server 2008(二)
- TCP/IP详解--学习笔记(10)-TCP连接的建立与中止