java第三十五课
实现更新
先把需要修改的用户按 id 查询
1、 接收参数,collection 就是 HashMap 的 values,这个 values中只有 id。因为查询需要把查询出的数据返回,这里对类作统一的写法,采用反射技术,传入参数是类的名称。
2、 这里引用 Java 的范型 T,需要定义类时加上范型 T
public class JDBCUtils<T>
如果添加范型后。当前方法不能是静态方法。
实现查询,返回 ResultSet 的 List 当中的类型就是范型 T。
3、 接收的 Collection 是字符串,这需要参数转换,使用迭代器的方式。
4、 int index=0;
Iterator<String> myiter=args.iterator();
while(myiter.hasNext()){
String item=myiter.next();
System.out.println(item);
if(item.matches("^[0-9]+$") ){
ps.setInt(index+1,Integer.parseInt(item));
}else if(item.matches("^[0-9]+.[0-9]][0-9]$")){
ps.setDouble(index+1,Integer.parseInt(item));
}else{
ps.setString(index+1,item);
}
//
保证 PreparedStatement
能够进行每一个参数的对应
index++;
}
5、 执行查询后,把查询结果封装在泛型对应的类.
循环出的查询结果中把实例化的对象放在 ArrayList集合中。反射的实例化 newInstance。
根据不同的类型获取不同的数据,注意 String 输出的类型是 class java.lang.String。
6、 每个属性构建 set 方法
通过 getDeclaredMethod 执行方法,后面跟属性名称,还有parameterType 参数类型。
Method
mymethod=myclass.getDeclaredMethod("setId",int.c
lass);
采用 invoke 执行方法,invoke 的第一个参数是对象,第二个参数的值。
mymethod.invoke(my_instance_class,22);
注意:使用范型 T 匹配任意一个类,一定类中加上范型 T,在方法中引用范型 T。
项目:
1、 考虑把简单重复的形式用接口来实现.比如数据库的增删改查(重复)
2、 考虑应对场景:用户需求修改,程序员不断修改代码的需求.(开发模式)
3、 考虑 bug。修复出现的 bug。
代码详见:java第三十五课 · Fang-fang/方芳 的java - Gitee.com
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!