eclipse环境
1、新建一个java工程,名称为 TestPojoBirt
2、创建pojo类
package com.dcits.model;
import java.util.Date;
public class Student {
private Integer sID;
private String sName;
private Date birthday;
private String address;
private String phone;
public Integer getsID() {
return sID;
}
public void setsID(Integer sID) {
this.sID = sID;
}
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
3、创建一个factory来获取pojo列表(这里只是模拟,写死)
package com.dcits.service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.dcits.model.Student;
public class StudentServiceImpl {
public List<Student> listStu(){
List<Student> lStu=new ArrayList<Student>();
Student stu1=new Student();
stu1.setsID(1);
stu1.setsName("張三");
stu1.setPhone("13888888888");
stu1.setBirthday(new Date(1990, 10, 3));
stu1.setAddress("陜西西安");
lStu.add(stu1);
Student stu2=new Student();
stu2.setsID(2);
stu2.setsName("李四");
stu2.setPhone("13833333333");
stu2.setBirthday(new Date(1990, 2, 13));
stu2.setAddress("北京");
lStu.add(stu2);
Student stu3=new Student();
stu3.setsID(2);
stu3.setsName("王五");
stu3.setPhone("138111111111");
stu3.setBirthday(new Date(1991, 1, 139));
stu3.setAddress("成都");
lStu.add(stu3);
return lStu;
}
}
4、切换到 Report Design视图,新建一个Blank Report
5、切换至 Data Explore视图,新建一个 Scripted Data Source
6、新建一个Data Sets,添加Student中的属性到Output Colums中
7、添加完成后,在该数据集的Script中选择Open项,输入如下代码
count=0;
sFactory=new Packages.com.dcits.service.StudentServiceImpl();
lStu=sFactory.listStu();
if(count<lStu.size()) {
row["sID"] = lStu.get(count).getsID();
row["sName"] = lStu.get(count).getsName();
row["birthday"] = lStu.get(count).getBirthday();
row["address"] = lStu.get(count).getAddress();
row["phone"] = lStu.get(count).getPhone();
count++;
return true;
}
return false;
9、在该数据集的Script中选择close项,输入如下代码
sFactory=null;
lStu=null;
10、切换到layout,根据自己意愿设计报表即可。