第三十三课 电商控制台增删改查接口的编写

2023-12-13 07:57:16

实现更新

先把需要修改的用户按id查询

  1. 接收参数,collection就是HashMap的values,这个values中只有id。因为查询需要把查询出的数据返回,这里对类作统一的写法,采用反射技术,传入参数是类的名称。
  2. 这里引用Java的范型T,需要定义类时加上范型T

public class JDBCUtils<T>

如果添加范型后。当前方法不能是静态方法。

实现查询,返回ResultSet的List当中的类型就是范型T。

  1. 接收的Collection是字符串,这需要参数转换,使用迭代器的方式。
  2. 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++;
    }
  3. 执行查询后,把查询结果封装在泛型对应的类.

循环出的查询结果中把实例化的对象放在ArrayList集合中。反射的实例化newInstance。

根据不同的类型获取不同的数据,注意String输出的类型是class java.lang.String。

  1. 每个属性构建set方法

通过getDeclaredMethod执行方法,后面跟属性名称,还有parameterType参数类型。

Method mymethod=myclass.getDeclaredMethod("setId",int.class);

采用invoke执行方法,invoke的第一个参数是对象,第二个参数的值。

mymethod.invoke(my_instance_class,22);

?注意:使用范型T匹配任意一个类,一定类中加上范型T,在方法中引用范型T。

项目:

  1. 考虑把简单重复的形式用接口来实现.

比如数据库的增删改查(重复)

  1. 考虑应对场景:用户需求修改,程序员不断修改代码的需求.(开发模式)
  2. 考虑bug。修复出现的bug

?????

文章来源:https://blog.csdn.net/weixin_55605873/article/details/134947629
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。