高分求写两个工具方法(关于J2EE开发中的sql查询)

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:55:45
这两个工具方法用于J2EE的项目开发,一个是从数据库里取出的数据存放在ResultSet中,想自动组装给实体对象;另一个是自动从实体对象中获取属性值,添加到预备语句中。

我是新手,想了很长时间,不知道该怎么写,到这里来求助,希望高手能帮我解决,解决之后我会追加积分的……

processResultset(Object obj,ResultSet rs);
将ResultSet映射的指定的记录自动组装给指定的实体对象

processStatement(Object obj, PreparedStatement ps);
用指定实体对象中的属性值,自动组装preparedStatement,并能正常执行操纵语句
现在正在学习的过程中,不能用hibernate,只用struts。希望有人能帮我写出来……
第二个方法只需要写出insert和update的就行。

现在在学习阶段,做的不是商业项目,不考虑性能的问题,只是利用这两个方法减少编码的工作量。

思想和所需要的技术我大体理解,但是因为是新手,技术不行实在写不出来,所以在这里求方法

这个不能帮你写,真的。。如果你是项目用,建议考虑jpa或者是ibatis,毕竟自己写效率不如框架快。如果你是想真的学到东西,就不能抄代码。。这样没意思。不过可以给你提供下思路。

(1)首先根据你的想法,是想将查出来的记录自动映射成一个实体对象。这需要用到java反射机制。可以参照jpa或者是ibatis的实现方式,做一个xml配置文件。自己写工具解析xml的属性与字段的映射。如果闲麻烦也可以自己强制要求实体类的属性名必须与字段名字相同。步骤如下:
a: 取出记录,获取字段名和字段value。保存(map)。
b:新建对应的实体对象。
c: 根据字段名或者是xml映射的属性名调用反射机制,setter方法赋值。
d:返回对象。
(2)自动组装preparedStatement,我猜你的大概意思是想通过传递来的对象,自己做一个增,删,改的方法吧。这个也是利用反射,判读某个属性是否有值,有点话就添加column。

..............
楼主我已经发消息给你了。。。。看到请回复。。。

哎,,算了。。。刚给你写好了。。。直接给你上代码吧。。。。

数据库mysql:
DROP TABLE IF EXISTS `lauretest`.`person`;
CREATE TABLE `lauretest`.`person` (
`personID` int(10) unsigned NOT NULL auto_increment,
`lastName` varchar(45) NOT NULL,
`firstName` varchar(45) NOT NULL,
PRIMARY KEY USING BTREE (`personID`)
) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=latin1;

代码:
// DBFactory.java
package com.laure.dbtool.dbfactory;