WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院WEB开发Jsp iBATIS step by step 2 阅读

iBATIS step by step 2

 2008-01-05 20:09:19 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬灚瀚梺鍨儏閳ь剙绉归弻銊р偓闈涙啞閻h京鈧敻鍋婇崰鏍х暦閿燂拷
核心提示:这一节里,使用了一个实际的例子来说明dynamic-mapped-statement 和 insert 的简单使用. 系统发布后一段时间,

这一节里,使用了一个实际的例子来说明dynamic-mapped-statement 和 insert 的简单使用.

系统发布后一段时间,对系统留下的一些log,非凡是所执行的sql语句进行分析,来获取用户使用习惯的第一手数据,以便以后我们的改进。
  
  今天就做了这样一次简单的分析,由于系统中几乎所有的查询都使用我的一个统一的借口来进行查询,所以SQL的log有统一的标志,收集起来相对轻易。
  
  下面一步一步的描述一下整个过程:
  
  一、搜集log
   1. 从服务器上获取log文件,无需多说
   2. 用程序分析log,并将sql解析出来,做一些处理,保存到数据库中。
    要保存一条数据到数据库里,需要配置一个保存的SQL:
    


   <parameter-map name="insert-params">
    <PRoperty name="exeTime" />
    <property name="sql"/>
    <property name="parsedSql"/>
    <property name="sqlvalues"/>
   </parameter-map>
   <mapped-statement name="insertSql" parameter-map="insert-params" >
    insert into SQL_STMT (
     ID,
     EXE_TIME,
     SQL,
     PARSED_SQL,
     SQL_valueS)
     values (
     <!--注重这里,可以使用数据库本身的功能,不受限制-->
     seq_sql_stmt.nextval, ?, ?, ?,? 
    )
   </mapped-statement>
    进入讨论组讨论。
  程序里只需要提供一个简单的bean,这个bean只需要带有"insert-params"配置的那几个field就可以了,在程序里我们只需要:
    
    SqlLog log = parseSqlLog(sqlString);//set 相关字段
    SqlMapConfig.getSqlMap().executeUpdate("insertSql", log);

Tags:iBATIS step by

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接