在这次的项目里,要求完成一个jsp页面来获取windchill数据库里的用户创建数据,制作一个类似于网易云音乐年度报告的jsp页面。其实说白了无非是进行数据库的查询操作。
在项目的初期,主要是熟悉windchill的数据存储结构,这一步主要是通过
WTUser user=(WTUser) SessionHelper.manager.getPrincipal();
String s=user.getName();//获取用户ID
来获取当前用户在存储表里的用户名,之后通过jdbc连接数据库:
//连接数据库
PDSIfc pds = DataServicesRegistry.getDefault().getPdsFor("DEFAULT");
Connection conn = null;
if(pds!=null){
conn = pds.getDataSource().getConnection();
}
进而进行相应的数据库查询操作
//查找用户WTUSER表里的id
PreparedStatement ps = conn.prepareStatement("select * from WTUSER t where t.name=?");
ps.setString(1, s);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
UserBean data=new UserBean();
//得到用户ID
String userid = rs.getString(123);//int通过查看该数据表可知
}
之后再根据该ID进行其他关联的数据表查询操作,如创建的cad图纸数:
PreparedStatement ps2 = conn.prepareStatement("SELECT COUNT(t.ida3d2iterationinfo) from EPMDOCUMENT t where t.ida3d2iterationinfo=?");
ps2.setString(1, userid);
ResultSet rs2 = ps2.executeQuery();
while(rs2.next()){
String CADdocument_total= rs2.getString(1);
data.setCADdocument_total(CADdocument_total);
System.out.println("距今创建的CAD图纸数为:"+CADdocument_total);
}
其他的操作亦如是操作。
文件目录如下:
UserBean用来定义接口数据;
processor用来进行sql操作和data转json数据;
resource采用注解的方式定义接口方法。
前台代码后续附上。