博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写个自己用的jdbc 简单框架
阅读量:5789 次
发布时间:2019-06-18

本文共 2212 字,大约阅读时间需要 7 分钟。

hot3.png

1.通过xml配置查询条件

加一点命名规则例如我数据库了里面的字段是 leave_msg

                                       bean的字段就是leaveMsg

复杂的类型还没弄,只搞了个字符串

2.通过反射就可以统统执行了update、delete、insert了

/**	 * 普通的sql执行 判断sql的标准是是数字 默认最大参数个是小于10	 * 	 * @param sqlMsg	 * @param obj	 */	public boolean execSql(Map
sqlMsg, Object obj) { if (null != sqlMsg) { String sql = ""; // 获取sql 重新填充值 for (String s : sqlMsg.keySet()) { if (!s.matches("\\d{1}")) { sql = s; sqlMsg.remove(s);// 移除这个key值 //break; }else{ if(null==obj)continue; String key=s; String value=sqlMsg.get(s); try { Field field=obj.getClass().getDeclaredField(s);//属性权威私有 value=field.get(obj).toString(); sqlMsg.put(key, value); } catch (Exception e) { logger.info("执行sql:"+sql+"参数装配的时候,异常了。"+e); } } } if(null==sql||"".equals(sql)){ logger.info("执行sql为空!"); return false; } int count=-1; PreparedStatement psState=null; try { psState = this.con.prepareStatement(sql); logger.info("执行的SQL为:"+sql); int countParam=sqlMsg.size(); for(int i=1;i<=countParam;i++){ psState.setString(i, sqlMsg.get(String.valueOf(i))); } count=psState.executeUpdate(); con.commit();//事务提交 psState.close(); } catch (SQLException e) { try { con.rollback(); //回滚 if(null!=psState) psState.close();//执行关闭 } catch (SQLException e1) { logger.info("事务回滚失败了" + e); } logger.info("在执行sql的时候异常了\n" + e); } return count==-1?false:true; } return false; }

3.通过发射装配下select

if(rs.next()){ //有数据                	ResultSetMetaData msd=rs.getMetaData();                	for(int i=0;i

 

可以获取查询列的属性,名称,类型-》去装配这个obj

单条查询;

多条根据查询的结果可以反复组装

简单的数据类型应该还是好组装的,复杂类型有点困难了这里也不考虑哈哈

4.做一个简单的池子

1.池子在一个list里面;放着数据库链接的对象,对象有上面的工具类

private String username;	private String password;	private String url;	private String num;//编号	private Connection con;	private int status; // 0:free 其他 被使用

2.初始化的时候实例这个list;

3.获取 数据库链接对象 更具状态来

4.不够用就会涉及到添加进这个池子,并且操作完要摧毁的操作了(新添加是是从新实例化还是,克隆一个类的?)

5.够用直接通过状态获取(用完了该状态);

判断直接通过编号来

转载于:https://my.oschina.net/findurl/blog/305183

你可能感兴趣的文章
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
Web日志安全分析工具 v2.0发布
查看>>
JS重载
查看>>
python2和python3同安装在Windows上,切换问题
查看>>
php加速工具xcache的安装与使用(基于LNMP环境)
查看>>
android超链接
查看>>
统计数据库大小
查看>>
第十六章:脚本化HTTP
查看>>
EXCEL表中如何让数值变成万元或亿元
查看>>
L104
查看>>
用javascript获取地址栏参数
查看>>
一起谈.NET技术,你应该知道的15个Silverlight诀窍
查看>>
商教助手!解析夏普液晶高清宽屏投影机系列
查看>>