java - Hibernate, MySQL, Spring MVC,Freemarker :java.sql.SQLSyntaxErrorException: 你的 SQL 语法有错误
问题描述
我正在制作简单的 Spring MVC 库应用程序,使用 Freemarker、MySQL 和 Hibernate,我创建了用于向图书馆添加新书的表单,它的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create new user</title>
</head>
<body>
<form name="booker" action="/newBook" method="post" >
<p>Name</p>
<input title="Name" type="text" name="name">
<p>Desc</p>
<input title="Email" type="text" name="desc">
<p>Author</p>
<input title="Age" type="text" name="aut">
<p>Year</p>
<input title="Age" type="text" name="year">
<input type="submit" value="OK">
</form>
</body>
</html>
我也有 Controller、BookDAO、BookService 和 Book 实体
控制器:
@Controller
@RequestMapping("/")
public class BookController {
@Autowired
private BookService service;
@GetMapping("/books")
public String viewAll(Model model){
model.addAttribute("books",service.findAll());
return "books";
}
@GetMapping("/addBook")
public String addBook(){
return "createBook";
}
@PostMapping("/newBook")
public String newBooks(@ModelAttribute("booker") Book book){
service.add(book);
return "redirect:/books";
}
}
实体:
@Table(name = "booker")
@Entity
public class Book {
private int id;
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name = "idbooker")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private String name;
private String desc;
private String aut;
private int year;
@Column(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="desc")
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Column(name = "aut")
public String getAut() {
return aut;
}
public void setAut(String author) {
this.aut = author;
}
@Column(name = "year")
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
解决方案
您可能对desc
(保留字)有一些问题吗?尝试使用 backtics
@Column(name="`desc`")
推荐阅读
- reactjs - 如何仅使用 React 中的函数组件获取输入的文本值?
- firebase - Flutter-Firebase RTDB:从 Firebase 实时数据库读取数据是否必须使用 Push ID?
- python - 在 GPU 上运行时,Tensorflow CPU 代码错误
- opencv - 处理和显示激光雷达数据
- javascript - $("#mybtn") 和 document.getElementById("mybtn") 有什么区别
- java - 枚举是一种原始类型。对泛型 Enum 的引用
应该参数化 - html - 使用 HandleFunc 提供通过模板链接的 CSS 文件
- r - 关于在ggplot中添加图例
- python - 如何正确标注混淆矩阵?
- ruby - 在我的 CLI 中遇到错误([]:Array (NoMethodError) 的未定义方法“标题”)