当我执行此代码时,我得到了解决方案。我需要将列表转换为可读格式。我的Dao代码是
public List<Data> getData() {
// TODO Auto-generated method stub
System.out.println("In getData dao************");
session=sessionFactory.openSession();
tx=session.beginTransaction();
List<Data> blist=session.createCriteria(>.class).list();
System.out.println("datalist dao************"+blist);
tx.commit();
session.close();
return blist;
}
Data.java
@Entity
@Table(name="tbl_genere")
public class Data implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column(name="dataid")
private String DataId;
@Column(name="dataname")
private String DataName;
public String getDataId() {
return DataId;
}
public void setDataId(String dataId) {
DataId = dataId;
}
public String getDataName() {
return DataName;
}
public void setDataName(String dataName) {
DataName = dataName;
}
}
我得到了解决方案,但它的格式难以理解。如何将其转换为可读格式?答案是dao ************ [com.pack.web.model.Data@1233c96,com.pack.web.model.Data@5ec471]。但我需要将列表存储为json格式的文件。我怎么能这样做。
答案 0 :(得分:1)
您必须覆盖对象的toString()。使用如下或根据您的要求进行更改。
@Entity
@Table(name="tbl_genere")
public class Data implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column(name="dataid")
private String DataId;
@Column(name="dataname")
private String DataName;
public String getDataId() {
return DataId;
}
public void setDataId(String dataId) {
DataId = dataId;
}
public String getDataName() {
return DataName;
}
public void setDataName(String dataName) {
DataName = dataName;
}
public String toString(){
return DataId+","+DataName;
}
}
答案 1 :(得分:1)
覆盖toString()
班级中的Data
@Override
public String toString() {
return "Data{" +
"DataId='" + DataId + '\'' +
", DataName='" + DataName + '\'' +
'}';
}
然后使用getData()
方法。
for(int i=0;i<blist.size();i++){
System.out.println(blist.toString());
}
答案 2 :(得分:1)
列表将数据视为通用数据。覆盖Data类和Sysout中的tostring()方法使用Arrays.toString(blist.toArray());您将以可读格式获得答案。
答案 3 :(得分:1)
您可以使用JSON
方法构建toString
格式输出,如下所示:
@Override
public String toString(){
StringBuilder builder=new StringBuilder();
builder.append("{Data : {DataId:\'").append(DataId).append("\' , DataName: \'")
.append(DataName).append("\' } }");
builder.toString();
}
注意:请确保已转义单引号/双引号以获得正确的json
输出。