电商系统增删改查统一接口的编写大概思路

商品增删改查
统一接口
接口方法,只有五个
Add 增
Delete 删
Update 更新
findAll 查询所有
findOne 查询某一个
add 增加一个数据
不管增加哪一个表的数据
(1) 表名(小写)与类名一致
(2) 表中的字段在类中私有化封装
采用:java 技术
(1) 反射,传入类名的字符串,使用反射技术注册这个类
Class.forName(“传入类名”);
(2) getDeclaredFields()方法获取所有的私有字段。相当于
程序控制每个属性的输入。
后面构造添加数据的 sql 语句
首先取字段:
String
fields=mymaps.keySet().toString().replace("[","(").replac
e("]",")");
再去取表名
通过类名的小写取表名.
String myclass_arr =
class_name.substring(class_name.lastIndexOf(".")+1);
myclass_arr.toLowerCase()
构建 insert 语句的前部分
Insert into 表名(字段) values,values 后面跟的是占位符
问号。
再 构建语句中的问号。
int position_wenhao=mymaps.keySet().size();
String wenhao_sql="";
for(int i=0;i<position_wenhao;i++){
wenhao_sql+="?,";
}
int wenhao_sql_len=wenhao_sql.length();
wenhao_sql=wenhao_sql.substring(0,wenhao_sql_len-1);
构建后,需要对 values 进行传值。
mymaps.values 存储的所有的值, 这个集合中的值类型是
Collection,把 Collection 传给 JDBC 的工具类。
Collection 中的内容除了 toArray 转数据去遍历所有的内容,
不能用别的方法引用其中的元素。这里采用迭代器 next() 方
法取数据。
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++;
}
最后调用这个 add 接口直接传入类名
MyShop myshop=new MyShopImpl();
myshop.add("goods.MyGoods");
做订单的添加
建表保证 id 可以自增。
统一的删除
在编程中,凡是键值对存在的数据,一个类型是类,类在实
例时,很难辩别类型。Class.forName 这里传入一个字符串,
反射后实例化,new Instance();,考虑 HashMap

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值