亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我們如何使用Spring Boot將jsp文件中的表單數據保存到數據庫中?

我們如何使用Spring Boot將jsp文件中的表單數據保存到數據庫中?

守著一只汪 2023-08-09 15:10:20
我正在創建一個 Spring Boot API,它基本上要求用戶創建一個帳戶。帳戶詳細信息顯示在表格上。我想從表單中獲取詳細信息并將其保存到數據庫(MYSQL)中。模型類如下:@Table(name = "user")public class User {    @Id    @Column(name = "ID")    private int ID;    @Column(name = "Fname")    private String fName;    @Column(name = "Lname")    private String lName;    @Column(name = "dob")    private String dob;    @Column(name = "email")    private String email;    @Column(name = "pWord")    private String pWord;}控制器類如下:public class MController {    @Autowired    private UserRepository userRepository;    @PostMapping("/successSignUp")    public String dataToDB(@ModelAttribute("User") User formData, Model model) {        userRepository.save(new User(formData.getFname(), formData.getLname(), formData.getDob(), formData.getEmail(), formData.getPassword()));            model.addAttribute("user", new User());        return "welcomeUser";    }當我執行此代碼時,出現以下錯誤:java.sql.SQLSyntaxErrorException: Unknown column 'p_word' in 'field list'我在這里做錯了什么?提前致謝。
查看完整描述

2 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

Spring框架在內部將camel case更改為snake case。

這是 Spring Boot 命名策略的一部分:我們可以覆蓋這些值,但默認情況下,這些將:

  1. 將駱駝箱改為蛇箱

  2. 將點替換為下劃線

  3. 小寫表名

您可以嘗試將列名稱更新為 pword 而不是 pWord 嗎?

@Column(name = "pword")
private String pWord;

如果您使用“pWord”,它將被視為 p_word。請將列名稱更新為“pword”并嘗試。

例子:

@Entity

public class Account {

    @Id

    private Long id;

    private String defaultEmail;

}

And then turn on some SQL debugging in our properties file:



hibernate.show_sql: true

At startup, we'll see the following create statement in our logs:



Hibernate: create table account (id bigint not null, default_email varchar(255))


查看完整回答
反對 回復 2023-08-09
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

解決此問題的最簡單的解決方案是將列名稱設置為小寫或大寫。

@Column(name = "pword")
private String pWord;

或者

@Column(name = "PWORD")
private String pWord;

這將避免 spring 將名稱轉換為蛇形命名。

MySql 中的列名不區分大小寫,因此它可以工作。


查看完整回答
反對 回復 2023-08-09
  • 2 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號