您好,登錄后才能下訂單哦!
本篇內容主要講解“springboot整合mongodb并實現crud的步驟”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“springboot整合mongodb并實現crud的步驟”吧!
首先我們得使用springboot整合咱們的mongodb,第一步,當然是引入依賴啦
<!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!--mongodb--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.12.7</version> </dependency> <!--druid數據源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency>
applicaton.yml配置
spring: data: mongodb: #uri: mongodb://localhost:27017/test host: 127.0.0.1 port: 27017 username: password: database: test datasource: type: com.alibaba.druid.pool.DruidDataSource #druid數據源 mybatis: type-aliases-package: com.mjs.common.pojo #這里是實體類所在的包 mapper-locations: classpath:/mapper/*.xml #這里是放sql語句的映射文件
緊接著呢,就是咱們的啟動類了(Application.class)需要添加注解讓它去掃描咱們的dao層。
代碼實現:
/** * @description 啟動類 * @author shenwang * @version 1.0 * @date 2021/8/20 10:37 */ @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}) @MapperScan(basePackages = "com.mjs.dao") public class MJSagentApplication { public static void main(String[] args) { SpringApplication.run(MJSagentApplication.class,args); } }
到這里咱們就已經整合完成了,接下來,創建一個類 StudentDao,用于測試
然后再StudentDao中引入MongoTemplate,它底層幫我們封裝好了對mondodb操作的代碼,簡化了我們開發時的操作,這樣開發的時候我們有更多的時間去實現業務
@Autowired private MongoTemplate mongoTemplate;
寫一個方法,添加一個學生,調用mongoTemplate中的save方法
/** * 添加學生 * @param student */ public boolean insert(Student student){ Student stu = mongoTemplate.save(student); return stu!=null; }
當然在這里可以使用mongoTemplate自帶的insert方法,兩者效果相同
咱們也用一個案例來理解刪除
目標:根據名字刪除學生
實現:
/** * 根據學生姓名刪除學生 * @param name * @return */ public boolean deleteByName(String name){ //添加約束 Query query =new Query(Criteria.where("name").is(name)); //根據條件刪除學生,并返回結果 DeleteResult result = mongoTemplate.remove(query, Student.class); return result.getDeletedCount()>0; }
其他條件可以根據該案例,舉一反三
目標:根據id修改學生信息
實現:
/** * 根據ID修改學生信息 * @param student * @return */ public boolean updateStu(Student student){ //添加約束 Query query =new Query(Criteria.where("id").is(student.getId())); //設置要修改的值 Update update=new Update(); update.set("age",student.getAge()); update.set("sex",student.getAge()); //修改并返回結果 UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Student.class); return updateResult.getMatchedCount()>0; }
無參數的查詢所有
/** * 獲取所有學生 * @return */ public List<Student> findAll(){ return mongoTemplate.findAll(Student.class); }
根據條件查詢
目標:根據學生名稱查詢學生列表
實現:
/** * 根據學生名稱查詢學生列表 * @param name * @return */ public List<Student> findByName(String name){ //添加約束 Query query=new Query(Criteria.where("name").is(name)); //返回結果 return mongoTemplate.find(query,Student.class); }
到此,相信大家對“springboot整合mongodb并實現crud的步驟”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。