新手求教,请问SSM框架怎么集成mongodb,集成的话mybatis是不是还需要mapper.xml

qq_36552294 2017-02-14 04:15:41
如题所属,我按照网上教程集成之后会出现这情况,是不是我集成错了
...全文
902 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
第一步 配置maven.我这里目前使用的是最新的

<!-- mongodb开始 -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.7.1.RELEASE</version>
</dependency>
<!-- mongodb结束 -->
第二步 创建mongodb.properties。其中


#DB name
mongo.dbname = erp_company
#username
mongo.username = hsjg
#password
mongo.password = 1
#host
mongo.host = 127.0.0.1
#port
mongo.port= 27017
#xiancheng zui da zu se shu
mongo.connectionsPerHost= 8
#xiancheng dui lie shu
mongo.threadsAllowedToBlockForConnectionMultiplier= 4
#connectTimeout ms
mongo.connectTimeout= 1500
#maxWaitTime
mongo.maxWaitTime= 1500
#autoConnect
mongo.autoConnectRetry= true
#socketKeepAlive
mongo.socketKeepAlive= true
#socketTimeout
mongo.socketTimeout=1500
#du xie fen li
mongo.slaveOk=true
第三步 创建spring-mongodb.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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:security="http://www.springframework.org/schema/security"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd">


<!-- 加载mongodb的属性配置文件 -->
<context:property-placeholder location="classpath:/system/mongodb.properties" ignore-unresolvable="true" />

<!-- 我们使用的mongodb的版本是3.X,所以在构造这段话的时候要根据 Mongo 类的构造函数来构造,不同版本可能会造成构造函数的不同 -->
<mongo:mongo-client id="mongo" host="${mongo.host}" port="${mongo.port}">
<mongo:client-options connections-per-host="${mongo.connectionsPerHost}"
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}"
socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" />
</mongo:mongo-client>

<!-- 用户验证 -->
<bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
<constructor-arg name="username" value="${mongo.username}" />
<constructor-arg name="password" value="${mongo.password}" />
</bean>
<!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 -->
<bean id="mongoDbFactory"
class="org.springframework.data.mongodb.core.SimpleMongoDbFactory">
<constructor-arg ref="mongo" />
<constructor-arg value="${mongo.dbname}" />
</bean>

<bean id="mappingContext"
class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />

<bean id="defaultMongoTypeMapper"
class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
<constructor-arg name="typeKey">
<null />
</constructor-arg>
</bean>

<!-- collection的映射 -->
<bean id="mappingMongoConverter"
class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultMongoTypeMapper" />
</bean>

<!-- mongodb的主要操作对象,所有对mongodb的增删改查的操作都是通过它完成 -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
</bean>

</beans>

第四步 在springmvc.xml中引用spring-mongodb.xml文件(注意:如果你原来的springmvc.xml中如果有<context:property-placeholder location="" />这个 那么也必须加上 ignore-unresolvable="true"属性)

第五步 创建实体类,我这里使用了lombok 没有你就get\set
@Data
@Document(collection = "表名")
public class Test{

@Id
private String id;

}


后边就是测试了
@Autowired
private MongoTemplate mongoTemplate;

@Override
public Map<String,Object> dataList(Test test) throws Exception {
Map<String,Object> map = MapUtils.createFailMap();
List<Test> list = new ArrayList<Test>();
Query query = new Query();
query.with(new Sort(Direction.DESC,"_id"));
list = mongoTemplate.find(query, Test.class);
map.put("rows",list);
map.put("total", list.size());
return map;
}

好了到这了就完成了

1,747

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧