Spring boot connection to mongoDB
application.properties
#mongodb spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.database=mongotuto #logging logging.level.org.springframework.data=debug logging.level.=error
POM.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.example SpringBootMongoDB03 0.0.1-SNAPSHOT SpringBootMongoDB03 Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
Application Main class
package com.example.discovery;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootMongoDb03Application {
public static void main(String[] args) {
SpringApplication.run(SpringBootMongoDb03Application.class, args);
}
}
Entity Car
package com.example.discovery;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "Car")
public class Car {
@Id
public ObjectId _id;
public String brand;
public String name;
public String color;
public Car(ObjectId _id, String name, String brand, String color) {
this._id = _id;
this.name = name;
this.brand = brand;
this.color = color;
}
public ObjectId get_id() {
return _id;
}
public void set_id(ObjectId _id) {
this._id = _id;
}
public String getbrand() {
return brand;
}
public void setbrand(String brand) {
this.brand = brand;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getcolor() {
return color;
}
public void setcolor(String color) {
this.color = color;
}
}
CarRepository
package com.example.discovery; import org.bson.types.ObjectId; import org.springframework.data.mongodb.repository.MongoRepository; public interface CarRepository extends MongoRepository{ Car findBy_id(ObjectId _id); }
CarController
package com.example.discovery;
import java.util.List;
import javax.validation.Valid;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/cars")
public class CarController {
@Autowired
private CarRepository repository;
@RequestMapping(value = "/", method = RequestMethod.GET)
public List getAllCars() {
return repository.findAll();
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Car getCarById(@PathVariable("id") ObjectId id) {
return repository.findBy_id(id);
}
@RequestMapping(value = "/", method = RequestMethod.POST)
public Car createCar(@Valid @RequestBody Car Cars) {
Cars.set_id(ObjectId.get());
repository.save(Cars);
return Cars;
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public void deleteCar(@PathVariable ObjectId id) {
repository.delete(repository.findBy_id(id));
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public void modifyCarById(@PathVariable("id") ObjectId id, @Valid @RequestBody Car Cars) {
Cars.set_id(id);
repository.save(Cars);
}
}
This is just a trick, hope it paved your way out.
No comments:
Post a Comment