欢迎各位大牛指教

项目融入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"?>
 
    <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

的意思是:当记录不存在时插入,而如果记录存在时则忽略,继续插

入。

posted @ 2016-08-23 13:23  夏沫秋至  阅读(282)  评论(0编辑  收藏  举报