本帖最后由 villagehead 于 2009-11-23 14:58:37 编辑

解决方案 »

  1.   


    哦?给个网址看看阿?
    我在ibatis.apache.org上找的pdf文档没有找到3q3qgood luck
      

  2.   

    要沉啦,
    浮上去!!我是最懒的人吗?good luck
      

  3.   

    <mapper namespace="UserInfo"> <resultMap id="UserInfoResult" type="com.company.project.model.UserInfo">
     </resultMap>
     
     <!-- 用于select查询公用抽取的列 -->
     <sql id="commonColumns">
         <![CDATA[
             user_id as userId,
             username as username,
             password as password,
             birth_date as birthDate,
             sex as sex,
             age as age
         ]]>
     </sql> 
    使用
    <select id="getById" parameterType="java.lang.Long" resultMap="UserInfoResult">
      select <include refid="commonColumns" />
         <![CDATA[
          from user_info 
             where 
              user_id = #{id} 
         ]]>
     </select>
      

  4.   

    多谢多谢,
    不过这个和我想的有些出入这样的话,还是要“手动”去侵入SQL的,
    我是想ibatis有没有提供监听器/解析器之类的东西,
    让我在运行期注册一个“修改器”,这样对于完成功能模块的人就比较透明了。
    如果以后加入新的共通字段,sql也不用修改。是不是我的需求比较BT呢?呵呵good luck
      

  5.   

    ibatis没怎么用过,帮LZ顶一下!
      

  6.   

    让我在运行期注册一个“修改器”, 这样对于完成功能模块的人就比较透明了。 
    如果以后加入新的共通字段,sql也不用修改。 
    确实变态需求,
    起码你修改了sqlmap必须重启服务器。ibatis的sqlmap是在程序启动的时候就加载的。类似hibernate的那堆映射文件。
    如果你想动态的编辑sqlmap那只有自己写类解析这些sqlmap啦,说白了就是自己造轮子把。
      

  7.   

    记忆中貌似IBATIS没这功能。。这个。觉得这个通用其实带来的好处不明显。楼主直接修改ibatis源代码来支持吧。
    利用spring拦截器倒是可以在执行前将当前时间和用户set到对象里面去,但是sql还得写
      

  8.   

    其实我就是那么一个突然的想法,呵呵aop概念上是这个概念,但是实施起来可行性不高,
    毕竟到了aop已经是折腾好了的东西了。不过还是谢谢回答结贴了good luck