MongDB-API在SSM框架中的配置及使用

一、在父工程的pom.xml中引入Maven依赖

<groupId>com.foriseland.fjf</groupId>
<artifactId>fjf-cache-mongdb</artifactId>
<version>1.0.0-SNAPSHOT</version>


二、配置springBean(在Service层的resources目录下有一个Spring目录,在Spring目录下创建一个spring-mongodb-context.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:context="http://www.springframework.org/schema/context"
	xmlns:mongo="http://www.springframework.org/schema/data/mongo"
	xsi:schemaLocation="http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/data/mongo 
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.3.xsd
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


	<bean id="buguDataSource" class="com.foriseland.fjf.mongdb.pool.BuguDataSource" init-method="init">
		<!-- 迁移华为云注释 -->
		<property name="clusterNodes" value="192.168.2.1:27017,192.168.2.1:27017" />		
		<!--  华为云配置 -->
		<!-- <property name="clusterNodes" value="10.100.125.155:27017" /> -->
		
		<!-- ${overall_public/mongdb.clusterNodes} -->
		<property name="databaseName" value="fl_media" />
		<!-- ${groupName/mongdb.databaseName} -->
		<property name="username" value="" />  <!-- ${groupName/mongdb.username} -->
		<property name="password" value="" />  <!-- ${groupName/mongdb.password} -->
	</bean>

</beans>

三、pojo层

8个注解:@Entity@Id@Property@Embed@EmbedList@Ref@RefList@Ignore
1个接口:BuguEntity

1个抽象类:SimpleEntity

    具体注解使用描述请参考git地址:
https://github.com/xbwen/bugu-mongo/wiki/%E5%AF%B9%E8%B1%A1&%E6%96%87%E6%A1%A3%E6%98%A0%E5%B0%84
一种较好的习惯是:尽量不设置@Property、@Embed、@EmbedList、@Ref、@RefList等注解的name属性,使得数据库的字段名称,与Java的属性名称,保持一致。

四、Dao层

你需要编写自己的Dao,如UserDao,来操作User相关的数据。UserDao需要继承自BuguDao,并且,在UserDao的构造函数中,需要传递User.class,如下:

public class UserDao extends BuguDao<User> {
public UserDao(){
super(User.class);
}
}
	需要继承BuguDao,泛型为对应的pojo
	构造函数需要采用super(Pojo.class)


五、API说明(mongodb中是不需要写mapper.xml和sql语句的,因为它的Dao继承了BuguDao,里面有自带的增删改查方法,具体API如下,列出部分)

具体API使用说明请参考git地址 
https://github.com/xbwen/bugu-mongo/wiki/DAO%E6%93%8D%E4%BD%9C



/*【基本查询】*/
/* 查询一个 */
public T findOne(String id)
public T findOne(String key, Object value)
/* 查询全部 */
public List<T> findAll()
public List<T> findAll(String orderBy)
public List<T> findAll(int pageNum, int pageSize)
public List<T> findAll(String orderBy, int pageNum, int pageSize)
/* 查询是否存在 */
public boolean exists(String id)
public boolean exists(String key, Object value)
/* 查询数目 */
public long count()
public long count(String key, Object value)
/* 查询某一字段的不重复值 */
public List distinct(String key)

六、mongodb时间戳工具方法

    由于mongodb中的时间是标准时间UTC +0:00 而中国的时区是+8.00,两种时间之间存在八个小时的时差。现在提供两种方式解决日期类的问题(推荐使用第2中方式):

    l  1)日期类型采用System.currentTimeMillis()方式存储Long类型的时间。

    l 2) 通过api获得当前时间,具体方式为:com.bugull.mongo.utils.DataType. getMongoDate

        如果不传入参Date,则获取的是系统当前时间,会统一解决八小时的问题。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值