让JAVA的JDBC支持命名参数的SQL语句
5页1、让JAVA的JDBC支持命名参数的SQL语句JAVA 的JDBC连接数据库时,传递参数的方式是通过索引位置实现(根据SQL中?号出现的顺序,例如SELECT * FROM table WHERE name =? OR title=?);这让使用SQL语句变得比较麻烦也不符合使用习惯。为此专门创建了一个类NSQL用于支持命名方式给SQL语句传递参数(例如SELECT * FROM table WHERE name =?name OR title=?title)。其基本原理是,以?号为参数标识,后跟参数名称,在编写SQL语句时候采用命名参数方式,然后由NSQL类将其分析后生成JDBC可用的基于?号顺序的SQL语句,同时记录参数顺序。这样既可实现命名参数的SQL语句。乐淘棋牌http:/代码如下所示:?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
2、798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132/* 2017年2月16日*/package com.kiy.service.data;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/* SQL语句抽象,提供基于命名参数的SQL语句功能* * author Simon(ZhangXi)*/public final class NSQL / 静态集合缓存使用过的NSQLprivate static Map caches = new Concurrent
3、HashMap();private String sql_naming;private String sql_execute;private String names;private NSQL() / 用户不能实例化对象/ 通过get方法获取可用实例public boolean hasName() return names.length 0;public void setParameter(PreparedStatement ps, String name, Object value) throws SQLException for (int a = 0, b = names.length - 1; a = b; a+, b-) if (namesa.equals(name) ps.setObject(a + 1, value);if (a != b & namesb.equals(name) ps.setObject(b + 1, value);public void setParameters(PreparedStatement ps, Map values) throws SQL
《让JAVA的JDBC支持命名参数的SQL语句》由会员m****分享,可在线阅读,更多相关《让JAVA的JDBC支持命名参数的SQL语句》请在金锄头文库上搜索。
DB2发生死锁情况时应该怎么处理
Python 为何能成最强编程语言
面试前必须要知道的Redis面试
MySQL下自动删除指定时间以前的记录的操作方法
深入理解FastCGI协议以及在PHP中的实现
MySQL数据库性能优化之硬件瓶颈分析
NoSQL数据库大全收集整理
2018 – 2019 年前端 JavaScript 面试题
PHP文件包含漏洞的形式总结
5种使用Python代码轻松实现数据可视化的方法
改进JavaScript和Bust的互操作性:深入认识wasm-bindgen组件
C#图片缩放平移从功能分析到编码实现
详解网络蜘蛛的安全隐患及预防方法
利用NAP解除安全隐患自动隐藏你的IP地址
解决分布式数据库和离线网络中原子性问题的新方法
bbed恢复数据遇到延迟块清除的问题
Oracle Data Redaction数据加密
linux下du和df结果不一致的原因及处理
基于QMP实现对qemu虚拟机进行交互
解读Java并发队列BlockingQueue
2023-06-30 7页
2022-09-15 93页
2022-06-04 27页
2022-04-25 3页
2022-03-24 7页
2022-03-24 7页
2022-03-24 8页
2022-03-24 4页
2022-03-24 43页
2022-03-24 7页