Java按名字set jdbc参数类
来源:互联网 发布:如何代理淘宝优惠券 编辑:程序博客网 时间:2024/06/05 00:10
PreparedStatement只能按?设置参数,简单写了一个按名字设置参数的类,实际用了PreparedStatement,简单写了,可以扩充,没有测试
public class NamedStatement {private Pattern NAME_PARSE = Pattern.compile("(:\\w+)");private PreparedStatement statement;private String sql;private Map<String, Integer> names;public NamedStatement(Connection conn, String sql) throws SQLException {parse(sql);statement = conn.prepareStatement(this.sql);}public void setString(String name, String value) throws SQLException {statement.setString(names.get(name), value);}public void setInt(String name, int value) throws SQLException {statement.setInt(names.get(name), value);}..........public void close() throws SQLException {statement.close();statement = null;}private void parse(String query) {int index = 1;int pos = 0;StringBuilder sb = new StringBuilder();Matcher matcher = NAME_PARSE.matcher(query);while (matcher.find()) {String s = matcher.group();int start = matcher.start();int end = matcher.end();sb.append(query.substring(pos, start));sb.append('?');pos = end;names.put(s, index++);}sb.append(query.substring(pos, query.length()));this.sql = sb.toString();}}
这样使用
String sql = "select * from table where a=:a and b=:param and c=5
NamedStatement s = new NamedStatement (conn, sql);
s.....
0 0
- Java按名字set jdbc参数类
- java - JDBC连接数据库参数
- JDBC批处理及参数绑定.java
- JAVA JDBC 调用存储过程 传参数
- JDBC:java.sql.SQLException: Before start of result set怎么办
- JDBC 参数
- 【Java】 Set实现类
- Java-Set类
- 利用Java的反射、泛型以及动态参数实现JDBC工具类
- java jdbc工具类
- java jdbc工具类
- jdbc 工具类 jdbc java数据库连接
- Java day04 权限(1), get,set参数
- 常用 JDBC 驱动名字和 URL 列表
- 常用 JDBC 驱动名字和 URL 列表
- 常用 JDBC 驱动名字和 URL 列表
- 关于JDBC中的ResultSetMetaData获取列名字
- Java反射机制 反射出方法的名字和参数等
- 欢迎使用CSDN-markdown编辑器
- Linux常用命令大全
- html中radio的checked与选中
- 《基于BootStrap3的JSP项目实例教程》第5讲
- 二十三种设计模式之创建型模式之抽象工厂
- Java按名字set jdbc参数类
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- c#委托 学习
- 集合接口与抽象类 collection接口 Iterator接口
- JNI简单示例
- 1062. Talent and Virtue (25)
- 你扮演了什么角色?
- 实现strcat
- Ruby之一些学习网站的网址