栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java操作MongoDB的增删改查,完整项目分享

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java操作MongoDB的增删改查,完整项目分享

使用idea,创建SpringBoot项目,详细介绍Java操作MongoDB的增删改查全过程。

目 录

1.安装MongoDB

2.idea创建SpringBoot项目

3.idea连接MongoDB

4.编写代码

4.1连接MongoDB配置文件

4.2实体代码

4.3dao代码

4.4service代码

4.5controller代码

4.6pom.xml

5.代码接口测试


详细分享如下:

1.安装MongoDB

这里略,详情请参考《window安装MongoDB详解》博客

2.idea创建SpringBoot项目

这里略,详情请参考《idea中基于MongoDB,创建SpringBoot项目》博客

3.idea连接MongoDB

这里略,详情请参考《idea安装Mongo Plugin插件,连接MongoDB_一火的专栏-CSDN博客》博客

4.编写代码

4.1连接MongoDB配置文件
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.database=user

4.2实体代码
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.document;
import org.springframework.data.mongodb.core.mapping.Field;


@document(collection="user")
public class User {

    @Id // 指定ID
    private String id;

    @Field("name") // 指定域名,覆盖默认
    private String name;

    @Field("password") // 指定域名,覆盖默认
    private String password;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

4.3dao代码
@Service
public class UserDao {
    @Autowired
    private MongoTemplate mongoTemplate;
    public User save(User user) {
        mongoTemplate.insert(user);
        return user;
    }
    public User getById(String id) {
        return mongoTemplate.findById(id, User.class);
    }
    public User deleteById(String id) {
        User user = mongoTemplate.findById(id, User.class);
        mongoTemplate.remove(user);
        return user;
    }

    public User update(User user) {
        mongoTemplate.save(user);
        return user;
    }

    public List getAllUsers() {
        return mongoTemplate.findAll(User.class);
    }

    public Map query(String userName,  int page,  int size) {

        // 条件
        Criteria criteria1 = Criteria.where("name").is(userName);
        Query query = new Query();
        if (userName!= null) {
            query.addCriteria(criteria1);
        }

        // 数量
        long total = mongoTemplate.count(query, User.class);

        // 分页
        query.skip((page - 1) * size).limit(size);

        List data = mongoTemplate.find(query, User.class);
        Map map = new HashMap();

        map.put("data", data);
        map.put("total", total);

        return map;
    }



}

4.4service代码
@Service
public class UserService {
    @Autowired
    private UserDao userDao;
    public User save(User user) {
        return userDao.save(user);
    }
    public User getById(String id) {
        return userDao.getById(id);
    }
    public User deleteById(String id) {
        return userDao.deleteById(id);
    }

    public User update(User user) {
        return userDao.update(user);
    }

    public List getAllUsers() {
        return userDao.getAllUsers();
    }

    public Map query(String userName, int page, int size) {
        return userDao.query(userName,page,size);
    }
}

4.5controller代码
@RestController
@RequestMapping("/user")
@EnableSwagger2
public class UserController {

    @Autowired
    private UserService userService;

    
    @PostMapping("/insert")
    @ApiOperation (value = "insert",notes = "插入")
    public User insertUser(User user) {
        return userService.save(user);
    }

    
    @GetMapping("/get/{id}")
    @ApiOperation (value = "get",notes = "查询")
    public User getUserById(@PathVariable String id) {
        return userService.getById(id);
    }

    
    @DeleteMapping("/delete/{id}")
    @ApiOperation (value = "delete",notes = "删除")
    public User deleteUserById(@PathVariable String id) {
        return userService.deleteById(id);
    }

    
    @PutMapping("/update")
    @ApiOperation (value = "update",notes = "修改")
    public User updateUser(User user) {
        return userService.update(user);
    }

    
    @GetMapping("/get/all")
    @ApiOperation (value = "getAll",notes = "获取所有")
    public List getAllUsers() {
        return userService.getAllUsers();
    }

    
    @GetMapping("/select/{page}/{size}")
    @ApiOperation (value = "select",notes = "分页查询")
    public Map selectUserByProperty(String userName, @PathVariable int page, @PathVariable int size) {
        return userService.query(userName,page,size);
    }
}

4.6pom.xml


	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.5.6
		 
	
	com.example
	mongodb
	0.0.1-SNAPSHOT
	mongodb
	Demo project for Spring Boot
	
		1.8
	
	
		
			io.springfox
			springfox-swagger2
			2.9.2
		
		
		
			io.springfox
			springfox-swagger-ui
			2.6.1
		

		
			org.springframework.boot
			spring-boot-starter-data-mongodb
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
			org.springframework
			spring-web
			5.3.14
		
		
			org.springframework
			spring-webmvc
			5.3.14
		
		
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


5.代码接口测试

访问​​​​​​http://localhost:8080/swagger-ui.html出现如下界面:

 下面使用新增接口举例说明,其他接口类似

 

完整项目地址 www.zrscsoft.com/sitepic/12146.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684089.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号