项目融入mongoDB
1.pom.xml导入jar包
<!-- mongoDB -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.2.1.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-cross-store</artifactId>
<version>1.2.1.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-log4j</artifactId>
<version>1.2.1.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- mongoDB -->
2.创建配置文件,spring-mongo.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/beans
<mongo:mongo host="127.0.0.1" port="27017" />
<!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 -->
<mongo:db-factory dbname="student" mongo-ref="mongo" />
<!-- mongodb的主要操作对象,所有对mongodb的增删改查的操作都是通过它完成 -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
<!-- 映射转换器,扫描back-package目录下的文件,根据注释,把它们作为mongodb的一个collection的映射 -->
<mongo:mapping-converter base-package="com.jk.model" />
<!-- mongodb bean的仓库目录,会自动扫描扩展了MongoRepository接口的接口进行注入 -->
<mongo:repositories base-package="com.jk.mongo.impl" />
<context:annotation-config />
</beans>
3.web.xml加载spring-mongo.xml配置文件,
4.创建实体
//mongnDB中对应的表,跟hibernate相似,实体与表建立映射关系,完成操作类的形式操作数据库
//参数为mongoDB中表名
@Document(collection = "user")
声明一个字段,为key,其他字段为值;key为唯一标识,可随便定义,但不可重复,
如果想插入两个实体的字段,
就把第一个实体中声明一个属性,从而来接收第二张表的值;
@Document(collection = "user")
public class UserEntity {
@Id
private String id;
5.创建接口,
6.创建一个实线类,使用@Repository并且注入,相当于Dao层的注入;
实例化MongoTemplate实例(关键:所有对mongoDB的操作都是使用MongoTemplate来完成的,相当于hibernate中的HibernateTemplate)
@Autowired
private MongoTemplate mongoTemplate;
/**
* query类的使用,
* query常用方法,
* query.with
* addCriteria
*
* mongoTemplate类的常用方法
* insert
* save
* find
* findOne
* update
* remove
*
*/
1)save
意思是,当记录不存在时插入,或者是当记录已存在是更新,实际上就
是
save or update
的意思。
2) insert
的意思是:当记录不存在时插入,而如果记录存在时则忽略,继续插
入。
欢迎各位大牛一起交流QQ:898190483,新人一个继续努力