能否在SQL Server中存取自定义对象?

lzmailcn 2005-04-18 08:50:03
在Sql Server中可以用image保存二进制文件,但不知能否保存自已的对象,如:

public class MyClass{
int intId=-32656;
String strName="";
double dblScore=0.0;

public MyClass(int id,String name,double score){
intId=id;
strName=name;
dblScore=score;
}

public void doSomething(){
System.out.println("do something!");
}
}

能否将上面类的实例保存到数据库中,如果能,又怎样读取并转换成一个类的实例。请给出详细代码。
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzmailcn 2005-04-21
  • 打赏
  • 举报
回复
自已顶
lzmailcn 2005-04-21
  • 打赏
  • 举报
回复
自已顶
全粘架构师 2005-04-19
  • 打赏
  • 举报
回复
一般像楼主说的就有点像EJB了,
public MyClass(int id,String name,double score){
intId=id;
strName=name;
dblScore=score;
}
一个表分id name score三个字段
每一个bean的实例对应表的一行
lzmailcn 2005-04-19
  • 打赏
  • 举报
回复
欢迎大家讨论。如果可行,数据库的设计及程序的代码量都将大幅减少。
lzmailcn 2005-04-19
  • 打赏
  • 举报
回复
不是EJB,我的例子类只有三个属性,怎么都好处理,但有时对象的属性有数十个,而且,一般都会在类中用到其他类的对象做属性,仍然无法将所有属性都对应到字段中去。再来一例:

package MapObject

import java.awt.*;

public class MyLine{
int nodeNum=0;
int lineWidth=2;
int mapLayer=0;
Color lineColor=Color.BLACK;
int nodeCoordX[]=null;
int nodeCoordY[]=null;

public MyLine(int nodeNum,int[] px,int[]py){
this.nodeNum=nodeNum;

nodeCoordX=new int[nodeNum];
nodeCoordY=new int[nodeNum];

for(int i=0;i<nodeNum;i++)
{
nodeCoordX[i]=px[i];
nodeCoordY[i]=py[i];
}
}

public void Draw(Graphics g){
Graphics2D g2d=(Graphics2D)g;

g2d.setColor(lineColor);
g2d.drawPolyline(nodeCoordX,nodeCoordY,nodeNum);
}
}

像这种情况,用传统方法就很难在一个表中保存所有属性,还需另一个表来专门保存坐标。但如果数据库中能保存对象就方便多了。
飞行的兔子 2005-04-18
  • 打赏
  • 举报
回复
将这个类实现Serilizable接口,将这个类序列化,转化成byte流存入数据库,然后从数据库读出这些二进制再写入ObjectInputStream,反序列化得到实例!
我没试过,不知道是否可行,可能存在问题!

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧