我剛開始學習Java的Spring MVC框架,我想學習如何處理CRUD操作以及處理表單數據。使用Spring MVC和MySQL數據庫
到目前爲止,網絡上的許多教程主要是關於Spring與Maven的組合,我覺得作爲自學初學者很困惑。
我將不勝感激一些澄清,我將需要完全處理典型的Spring MVC項目中的CRUD操作,並優先使用MySQL。任何相關的教程建議,以獲得相同的將不勝感激。
我剛開始學習Java的Spring MVC框架,我想學習如何處理CRUD操作以及處理表單數據。使用Spring MVC和MySQL數據庫
到目前爲止,網絡上的許多教程主要是關於Spring與Maven的組合,我覺得作爲自學初學者很困惑。
我將不勝感激一些澄清,我將需要完全處理典型的Spring MVC項目中的CRUD操作,並優先使用MySQL。任何相關的教程建議,以獲得相同的將不勝感激。
您可以很容易地在Spring Data JPA在春季執行CRUD操作。
假設你有你的實體類YourClass
:
@Entity
public class YourClass {
@Id
private Long id;
private String name;
// constructors, getters, setters
}
剛剛從org.springframework.data.repository.CrudRepository
延長你的資料庫界面,有它的工作。
注意:你可以發現org.springframework.data.jpa.repository.JpaRepository
更方便,隨意使用它,因爲它也是一個CrudRepository
繼承。
public interface YourClassRepository extends JpaRepository<YourClass, Long> {
// you already have all the CRUD methods
// you can also create own queries just introducing their signatures like below:
List<YourClass> findByName(String name);
}
,你準備好執行所有CRUD操作作爲save
,findAll
,findOne
,delete
(和其他一些方法)。
如果在一個典型的Java應用程序,你必須編寫實現YourClassRepository
這裏來春數據JPA的主電源類 - 你不必寫庫接口的任何實現。 Spring Data JPA在運行應用程序時即時創建實現。
Spring Data JPA還允許您通過簡單地聲明其方法簽名來定義其他查詢方法。在這個例子中,它用findByName()
方法顯示。這是因爲您在YourClass
中有name
字段,您可以使用任何其他字段創建此類查詢。
然後,你可以簡單地注入你的資料庫,並在控制器或服務類使用它:
@Controller
public class YourClassController {
@Autowired
private YourClassRepository repository;
@RequestMapping(value = "entities", method = RequestMethod.GET)
public List<YourClass> list() {
return repository.findAll();
}
@RequestMapping(value = "entities", method = RequestMethod.POST)
public YourClass create(@RequestBody YourClass yourClass) {
return repository.saveAndFlush(yourClass);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.GET)
public YourClass get(@PathVariable Long id) {
return repository.findOne(id);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.PUT)
public YourClass update(@PathVariable Long id, @RequestBody YourClass yourClass) {
YourClass existingYourClass = repository.findOne(id);
BeanUtils.copyProperties(yourClass, existingYourClass);
return repository.saveAndFlush(existingYourClass);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.DELETE)
public YourClass delete(@PathVariable Long id) {
YourClass existingYourClass = repository.findOne(id);
repository.delete(existingYourClass);
return existingYourClass;
}
}
優秀的教程,您應該完成明白這是Accessing Data with JPA。
有關配置MySQL數據庫,首先你需要mysql-connector-java依賴性增加Maven的pom.xml
,然後提供數據源的詳細信息是什麼。
您可以通過以下方式執行此操作:在您的配置Spring bean XML文件中或使用Java Annotations。但最簡單的方法來做到這一點是通過使用Spring Boot並提供數據源細節application.properties
文件作爲例子:
application.db.driver = com.mysql.jdbc.Driver
application.db.url = jdbc:mysql://localhost:3306/yourDbName
application.db.username = username
application.db.password = password
終於在Spring Guides,你可以找到很多非常有用的教程中有關使用Spring項目發佈以及Spring團隊推薦的技術,從頭開始並逐步完成它們。他們通常很短(每個指導15-20分鐘),非常清晰。
當然,你必須學習一些像Maven,Gradle,Ant這樣的構建自動化工具 - 它非常方便。這裏是關於如何開始使用Maven的非常初學者的文章:Maven in 5 Minutes。
祝你好運與你的學習。
問題要求我們推薦或找到一本書,工具,軟件庫,教程或其他非本地資源,因爲它們傾向於吸引自以爲是的答案和垃圾郵件,因此無法用於Stack Overflow。相反,請描述問題以及到目前爲止解決問題所做的工作。 –