Java基础小案例之编写动态插入sql语句,查询sql

给出一个数组或者集合,即字段,插入给定的表。
如字段数组为: “name”, “position”, “salary”
表为:employee

public class Main {
    public static void main(String[] args) {
        String[] fields = { "name", "position", "salary" };
        String table = "employee";
        String insert = buildInsertSql(table, fields);
        System.out.println(insert);
        String s = "INSERT INTO employee (name, position, salary) VALUES (?, ?, ?)";
        System.out.println(s.equals(insert) ? "测试成功" : "测试失败");
    }
    static String buildInsertSql(String table, String[] fields) {
         StringBuilder params = new StringBuilder(1024); 
         StringBuilder postion = new StringBuilder(1024);
         for(String s: fields) {
            params.append(s+", "); 
            postion.append("?, ") ;
         }

        String s1 = params.toString();
        String s2 = postion.toString();
        System.out.println(s1);
		System.out.println(s2);
        s1 = s1.substring(0, s1.length()-2);
        s2 = s2.substring(0, s2.length()-2);

        String insertSql = "INSERT INTO %s (%s) VALUES (%s)".formatted(table,s1, s2);

    return insertSql;

    }

}

还是上面给定的条件不过这次是编写查询SQL:

public class Main {
    public static void main(String[] args) {
        String[] fields = { "name", "position", "salary" };
        String table = "employee";
        String select = buildSelectSql(table, fields);
        System.out.println(select);
        System.out.println("SELECT name, position, salary FROM employee".equals(select) ? "测试成功" : "测试失败");
    }
    static String buildSelectSql(String table, String[] fields) {
        String s = String.join(", ", fields);
        System.out.println(s);
		String selectSql="SELECT %s FROM %s".formatted(s,table);
    return selectSql;
    }

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
hsweb 企业后台管理基础框架业务功能现在:权限管理: 权限资源-角色-用户.配置管理: kv结构,自定义配置.可通过此功能配置数据字典.脚本管理: 动态脚本,支持javascript,groovy,java动态编译执行.表单管理: 动态表单,可视化设计表单,自动生成数据库以及系统权限.无需重启直接生效.模块设置: 配合动态表单实现表格页,查询条件自定义.数据库维护: 在线维护数据库,修改表结构,执行sql.数据源管理: 配置多数据源.代码生成器: 在线生成代码,打包下载.可自定义模板.定时任务: 配置定时任务,使用动态脚本编写任务内容.系统监控: 监控系统资源使用情况.缓存监控: 监控缓存情况.访问日志: 记录用户每次操作情况未来:组织架构管理: 地区-机构-部门-职务-人员.工作流管理: activiti工作流,在线配置流程,配合动态表单实现自定义流程.邮件代收: 代收指定邮箱的邮件框架功能全局restful json,前后分离.通用dao,service,controller类,增删改查直接继承即可.通用mybatis配置文件,支持多种条件查询自动生成,支持自动生成insert,update,delete语句,支持和查询相同的各种条件.实现用户,权限管理;基于aop,注解,精确到按钮的权限控制.动态表单功能,可在前端设计表单,动态生成数据库表,提供统一的增删改查接口.在线代码生成器,可自定义模板.动态多数据源,支持数据源热加载,热切换,支持分布式事务.数据库支持 mysql,oracle,h2.websocket支持.定时调度支持,可在页面配置定时任务,编写任务脚本执行。演示示例:demo.hsweb.me测试用户:test (test2,test3,test4....) 密码:123456演示项目源码:hsweb-demo技术选型第三方:MVC:spring-boot. 开箱即用,学习成本低,部署方便(main方法运行).ORM:mybatis. 配置灵活,简单方便.JTA:atomikos. 分布式事务,多数据源事务全靠他.Cache:spring-cache. 统一接口,注解使用,simple,redis... 自动切换.Scheduler:quartz. 开源稳定,支持集群.自家:hsweb-commons :通用工具类hsweb-easy-orm :为动态表单设计的orm框架hsweb-expands-compress :文件压缩,解压操作hsweb-expands-office :office文档操作( excel读写,模板导出,word模板导出)hsweb-expands-request: 请求模拟(http,ftp)hsweb-expands-script:动态脚本,动态编译执行java,groovy,javascript,spel,ognl....hsweb-expands-shell:shell执行hsweb-expands-template:各种模板引擎 标签:hsweb

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值