问题描述
- 今天在用tk.mybatis插件的时候,查询一个对象用mapper.selectByPrimaryKey(id)方法时出现错误,错误原因是mybatis在生成查询语句时对表名和列名没有加` `符号,正巧那张表的列明有一个字段为option,正好是mysql的关键字,不加` `符号肯定是会出错的。
原因
- 原因是由于用mybatis-generator时生成的model类上加的字段注解没有指明列明
@Table(name = "activity_question")
public class ActivityQuestion {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 问题题干
*/
private String question;
/**
* 答案选项
*/
private String options;
/**
* 答案
*/
private String answer;
private Byte expired;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
@Table(name = "`activity_question`")
public class ActivityQuestion {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 问题题干
*/
@Column(name = "`question`")
private String question;
/**
* 答案选项
*/
@Column(name = "`options`")
private String options;
/**
* 答案
*/
@Column(name = "`answer`")
private String answer;
@Column(name = "`expired`")
private Byte expired;
/**
* 创建时间
*/
@Column(name = "`create_time`")
private Date createTime;
/**
* 修改时间
*/
@Column(name = "`update_time`")
private Date updateTime;