2 u010791853 u010791853 于 2015.05.25 10:56 提问

JAVA实体类怎么设计,不用框架 1C

现有三个表:
A表:字段有user_id(主键), userName;
B表:字段有commodity_id(主键), user_id(外键:A.user_id), commodity_name;
C表:字段有sku_id(主键), commodity_id(外键:B.commodity_id), sku_code;
关系:A,B:一对多,B,C:一对多

现在我要查询数据,查询语句是:
select A.*, B.*, C.*
from A A
left out join B B on A.user_id = B.user_id
left out join C C on B.commodity_id = C.commodity_id;
然后通过下面的方法取值,请问我改如何设计实体类,不用框架的那种

public List executeQuery(String preparedSql, String[] params ){
List results = null;
pstmt = null;
try{
conn = this.getConn();
pstmt = conn.prepareStatement(preparedSql);
int i = 1;//计数器
if (params != null) {//判断参数集是否为空
for (String param : params) {//添加SQL语句参数
pstmt.setString(i, param);
i++;
}
}
rs = pstmt.executeQuery();
results = createObject(rs);//提取查询结果集
}catch(Exception er){
er.printStackTrace();
}finally{
this.closeAll();
}
return results;
}

@Override
public List createObject(ResultSet rs) throws SQLException {
List listA=new ArrayList();
while(rs.next()){
A a=new A();

        ...............

        listClient.add(a);
    }
    return listA;
}

7个回答

ro4074
ro4074   2015.05.25 11:06

你使用power designer画一下这三个表,然后生成java实体类,就知道实体类对应关系为何了。

devmiao
devmiao   Ds   Rxr 2015.05.25 11:22

最简单的就是直接定义pojo类。
字段以及get/set

u010791853
u010791853 能详细点吗,我是菜鸟,刚学的
2 年多之前 回复
diaoliwei2
diaoliwei2   Rxr 2015.05.25 11:42

创建个实体类,把你需要查的列都在这个类里定义

juwuhen
juwuhen   2015.05.25 12:00

class user:user_id, userName, list;
class commodity:commodity_id, user, commodity_name, list;
class sku:sku_id, commodity, sku_code;

可以根据需求修改
需要注意的是不要变成死循环

stevenice85
stevenice85   2015.05.25 17:43

一对多还是比较简单的
user :id name
commodity:id name User user
sku:id code User user Commodity commodity

stevenice85
stevenice85   2015.05.25 17:48

为毛不能编辑.不建议在 User下放个list ,很有可能死循环

xionglangs
xionglangs   Rxr 2015.05.26 14:28

你自己已经通过jdbc取到了值啊,在for中new对象 set方法放入rs.get数据类型("列名")数据,对象中不就获得了数据吗

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!