目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台。
环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2
背景:首先建立 entity 映射数据库(非专业 java 不知道这怎么说)
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String userName; // 账号
private String password; // 密码
// getter setter 方法略过
}
然后建立与之对应的 model
public class UserModel implements Serializable {
// 一些属性
}
这里我们分情况讨论
首先第一种情况:查询的字段与表中的字段全部对应(就是查表里所有的字段,但是使用 Model 作为接收对象)
这种情况比较简单,调用 Repository 提供的方法,返回一个 entity , 然后将 entity 的属性复制到 model 中。像这样
UserModel user = new UserModel();
User userEntity = new User();
// 一个工具类,具体使用方法请百度
BeanUtils.copyProperties(user, userEntity);
第二种情况:只查询指定的几个字段
现在我有张表,有字段如下:
@Entity
@Table(name = "user_info")
public class UserInfo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name = "用户"; // 昵称
private String signature; // 个性签名
private String gender = "未知"; // 性别
private String description; // 个人说明
private String avatar; // 头像