网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
..NET与J2EE融合 JNBridgePro3.0发.
.快速上手Eclipse Eclipse快捷键指.
.全面解析定义方法.
.将Java程序变成Windows系统服务.
.Spring Framework中的AOP编程之入.
.如何在EJB应用程序中使用Spring.
.Java远程方法调用 (5).
.Struts 1.1 安装、示例篇.
.希尔排序算法的JAVA实现.
.SCJP:“菜鸟”也能玩Java.
.精通ejb【七】.
.阳光在线电子商务解决方案.
.剖析.Net下的数据访问层技术(5).
.SLG中搜索某个角色可移动区域的算.
.JCA: Java步入应用集成时代.
.(转)使用 Eclipse 作为 Jakarta .
.基础入门:JAVA初学的一些技巧.
.J2ME学习笔记(4)—用MIDP API开发.
.如何运行Java程序和设置CLASSPAT.
.Java动态代理实现AOP.

超级简单的sqlmap工具(ajf sql map)

发表日期:2008-1-5


超级简单的sqlmap工具

以前也写过一个,
这一把加入了动态sql,全部重写了

与ibatis类似
#param_name#  使用参数 ?(暂时不支持)
$param_name$  直接替换 

本工具特点:

提供了对ibatis常见功能的支持
核心类只有一个SqlMap.Java 
本工具适用与综合查询 (insert与update不推荐使用)
动态sql语句只支持 <notempty> 条件 (这个最常用了)

    //根据 <notempty name="xxx">content</notempty> 动态生成 sql
    //参数xxx不为空时,才输出 content,实现动态sql
    //目前只支持常见的notempty判定
    //可使用模板来动态生成sql语句,这样将非常强大,常见的模板工具有 freemark,velocity等
    //只是一个简单的查询工具,就不使用第三方的模板工具了
    //{xxx}  xxx 参数名

配置文件使用纯文本格式,而非XML格式(有些非凡字符XML里搞来搞去很无趣)
配置文件格式 ajf_sql_map(xxx)=select * from x   ,xxx表示sql name
传入参数直接替换,参数封装在map中
查询返回结果,记录行映射为map,key值从resultset的元数据中获取,且全部为小写,可参考作后的 rs2list部分代码
其他代码不一一给出,稍微搞一下即能整出来
sql-map配置文件只提供一个(统一配置治理,分散配置,各有所长了)
/WEB-INF/classes/ajf_sql_map.config

/**
 * zju ee && cs 
 * 国产偶像top3 毛泽东,邓小平,周恩来 
 * NBA偶像NO.1 Tim Duncan 
 * 头号足球偶像 罗纳尔多 
 * 小牛踏青 giscat@163.com 
**/

一个简单的例子

ajf_sql_map.config配置文件
支持//开头的单行注释

ajf_sql_map(q1)=select * from t_user

ajf_sql_map(q2)=select * from t_user where name like '%{name}%'

ajf_sql_map(q3)=select * from t_user where 2>1

       <notempty name="name"> and name like '%{name}%' </notempty>

////ajf_sql_map(q1)=select * from t_user
///
/////ajf_sql_map(q1)=select * from t_user
///
   
   ajf_sql_map(q4)=select * from t_user    
       ajf_sql_map(q5)=select * from t_user    
       
       
       
测试代码

 Map map = jspUtil.getRequestModel(request);//把请求参数封装到map中
      List list = null;
      
      try{
      list = SqlMap.query("q1",map);
      out.println(list.size());
      }catch(Exception e){
      out.println(e);
      }
      
      try{
      list = SqlMap.query("q2",map);
      out.println(list.size());
      }catch(Exception e){
      out.println(e);
      }
      
      try{
      list = SqlMap.query("q3",map);
      out.println(list.size());
      }catch(Exception e){
      out.println(e);
      }
      
      try{
      list = SqlMap.query("q4",map);
      out.println(list.size());
      }catch(Exception e){
      out.println(e);
      }


上一篇:让界面更加绚丽 Java SE 6.0四种新功能 人气:703
下一篇:多线程编程的设计模式 临界区模式 人气:593
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐