Utli工具栏(一)SQL字符处理

本文写的工具类具体实现了通过传递一定的参数自动生成简单的sql语句。

构思:如何实现?

首先我列举出了单表删查改sql的所有基础写法,对其需要的参数个数进行归类。

(1) 单表查询无条件,两个参数(标识符(S),表名)

(2) 单表查询特定字段无条件,三个参数(标识符(S),表名,特定字段)

(3) 单表查询(特价字段/所有)有条件,四个参数(标识符(S),表名,特定字段/*,条件)

(4) 单表修改无条件三个参数(标识符(U),表名,需要修改的值)【操作失误会误改数据】

(5) 单表修改有条件四个参数(标识符(U),表名,需要修改的值,条件)

(6) 单表删除两个参数(标识符(D),表名)【操作失误会误删除所有数据】

(7) 单表删除有条件三个参数(标识符(D),表名,条件)

思维:通过方法重载写三个方法同名参数不同,分别接收2,3,4个参数对参数进行处理。

除去上方可能出现操作失误的情况,通过参数个数进行分类。

(一) 四个参数的方法满足(3),(5)两个功能

(二) 三个参数的方法满足(2),(7)三个功能

(三) 两个参数方法满足(1),一个功能

实现:

(1) 四个参数的方法

private static String DisposeString(String signString,String tableNameString,String fieldsString,String conditionString){
  StringBuilder buffer = new StringBuilder("");
  switch (signString) {
  case "S": //查询
   buffer.append("select ");
   buffer.append(fieldsString);
   buffer.append(" from ");
   buffer.append(tableNameString);
   buffer.append(" where ");
   buffer.append(conditionString);
   break;
  case "U": //修改
   buffer.append("update ");
   buffer.append(tableNameString);
   buffer.append(" set ");
   buffer.append(fieldsString);
   buffer.append(" where ");
   buffer.append(conditionString);
   break;
  default:
   break;
  }
  return buffer.toString();
 }

(2)三个参数的方法

private static String DisposeString(String signString,String tableNameString,String conditionString){
  StringBuilder buffer = new StringBuilder("");
  switch (signString) {
  case "S":
   buffer.append("select ");
   buffer.append(conditionString);
   buffer.append(" from ");
   buffer.append(tableNameString);
   break;
  case "D":
   buffer.append("delete ");
   buffer.append(tableNameString);
   buffer.append(" where ");
   buffer.append(conditionString);
   break;
  default:
   break;
  }
  return buffer.toString();
 }

(3) 两个参数的方法

private static String DisposeString(String signString,String tableNameString){
  String string ="";
  if (signString.equals("S")) {
   string = "select * from " + tableNameString;
  }
  return string;
 }

整体逻辑:使用switch case语句判断标识符执行不同的拼接操作,使用StringBilderpiner拼接SQL语句。

使用方法重载优化使用,做任何处理都只是调用相同的方法名,传递参数决定返回的SQL。

示例:
在这里插入图片描述

输出:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值