У меня есть простой проект, основанный на this guide. Я создал простой интерфейс REST, и я хочу, чтобы он использовал мою базу данных. Я добавил Hibernate в зависимости и создал класс DAO. Я использую Spring Tool-Suite для IDE. Насколько я понимаю, я должен добавить некоторые бобы, чтобы рассказать классам о том, что использовать, но я не понимаю, как это сделать. Вот мои занятия.Как подключить Spring с базой данных MySQL?
Application.java
package com.learnspring.projectfirst;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Marker.java
package com.learnspring.projectfirst;
@Entity
public class Marker {
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
@Column
private double longitude;
@Column
private double latitude;
@Column
private String address;
public Marker() {
// Empty constructor
}
public Marker(long id, double longitude, double latitude, String address) {
this.id = id;
this.longitude = longitude;
this.latitude = latitude;
this.address = address;
}
//Getters and Setters
}
MarkerController.java
package com.learnspring.projectfirst.controller;
@Controller
public class MarkerController {
private Logger logger = Logger.getLogger(MarkerController.class.getName());
@Autowired
private MarkerServiceImplementation markerService;
@RequestMapping(value="/markers", method=RequestMethod.GET)
public @ResponseBody List<Marker> getMarkers(@RequestParam(value="city", defaultValue="") String city) {
return this.markerService.getAllMarkers();
}
@RequestMapping(value="/markers/new", method=RequestMethod.POST)
public @ResponseBody Marker addMarker(@RequestBody Marker marker) {
this.markerService.addMarker(marker);
return marker;
}
}
MarkerDaoImplementation.java
package com.learnspring.projectfirst.dao;
@Repository
public class MarkerDaoImplementation implements MarkerDaoInterface {
@Autowired
private SessionFactory sessionFactory;
@Override
public void addMarker(Marker marker) {
this.sessionFactory.getCurrentSession().save(marker);
}
@Override
public void deleteMarker(int markerId) {
this.sessionFactory.getCurrentSession().delete(this.getMarker(markerId));
}
@Override
public Marker getMarker(int markerId) {
return (Marker) this.sessionFactory.getCurrentSession().get(Marker.class, markerId);
}
@Override
public List<Marker> getAllMarkers() {
return this.sessionFactory.getCurrentSession().createQuery("from Marker").list();
}
}
MarkerServiceImplementation.java
package com.learnspring.projectfirst.service;
@Service
public class MarkerServiceImplementation implements MarkerServiceInterface {
@Autowired
private MarkerDaoImplementation markerDao;
@Transactional
public void addMarker(Marker marker) {
this.markerDao.addMarker(marker);
}
@Transactional
public void deleteMarker(int markerId) {
this.markerDao.deleteMarker(markerId);
}
@Transactional
public Marker getMarker(int markerId) {
return this.markerDao.getMarker(markerId);
}
@Transactional
public List<Marker> getAllMarkers() {
return this.markerDao.getAllMarkers();
}
}
А вот структура файла:
Я понимаю, что я должен сказать свою программу базы данных имя и столбцы, используя бобы, но Я не понимаю, как это сделать. Как связать код Java с бобами? Извините, что я наклеил столько кода, я просто хотел убедиться, что у вас есть все необходимое. Заранее спасибо!
Есть 10s образцов на GitHub. см. этот поиск https://www.google.com/search?q=site%3Agithub.com+spring+4+mysql – tgkprog
Взгляните на Spring Boot [documentation] (http://docs.spring.io/spring -boot/документы/ток/ссылка/HTML/загрузка функция-sql.html). – kazbeel