网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

ibatis整理资料

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员为大家收集整理了ibatis整理资料提供大家参考,希望对大家有所帮助!


    ibatis学习资料
    iBATIS提供的持久层框,相对Hibernate和OJB等的一站式ORM,ibatis呈现一种“半自动”,所谓的“半自动”还是相对于主流的ORM实现方案,Hibernate或OJB通过POJO(JAVABEAN)直接到数据库中进行全面映射,一般重点在对对象逻辑关系的配置上,完成对象的逻辑映射之后,就可以用Hibernate或者OJB提供的方法完成持久层操作。SQL语句等基本不会使用,“一站式”会自行生成SQL语句,并加以调用数据库。
    Ibatis最初是用于密码软件的开发,以至于现期的银行系统开发,多选用ibatis,Hibernate太大了,在性能优先方面,确实落于ibatis(杀鸡不用hibernate的意思)。
    下面说些ibatis配置:
    (confgi.xml还没过多学习,下次解析)
    这是对象映射SqlMap文件的内容:
    例子:userMap.xml
    
    
    "2.dtd"这里引用了ibatis2.0版本,现在也有3.0,貌似写法差异不小
    下面为对对象映射的具体操作
    映射文件的根节点是。namespace是该的命名空间,因为SQLMap映射文件可以有多个,而对于SQLMap来说所有映射文件都是全局性的。这意味着在SQLMap中的标识只能是惟一的,利用namespace和标识的全限定名就可以进行区别,前提是,配置文件中的useStatementNamespaces属性必须设置为true。
    
    

    接下来可能会需要对各个对象类的typeAlias进行配置,不得不说,有些类的全称很长,
    
    在进行select,update,delete,insert,之前,
    先对resultMap,parameteMap,paramterclass,resultclass
    resultMap:当sql又返回值的时候会用到这个属性!
    resultclass:返回类型,比如int,string
    paremterclass:传入sql的参数类型
    parameterMap:いmap类型传入sql中
    
    id为唯一识别标识,在dao层引用,传入的是LoginForm,返回的是resultClass:int
    SELECT
     COUNT(*)AS
     COUNT
     FROM
     HOSCLINICSTAFF
     WHERE
     STAFFCODE=#txtUserID#
     ANDPASSWORD=#txtUserPW#
    对以上语句,#txtUserID#,#txtUserPW#均为LoginForm中的属性,使用#调用,因为返回为一个数字,所以用int类型
    可能有疑问,如果传出来的是个对象呢
    
     SELECT
     A.STAFFCODEASSTAFFCODE,
     A.KANJINAMEASSTAFFNAME,
     A.CLINICCODEASCLINICCODE,
     B.FORMALNAMEASCLINICNAME
     FROM
     HOSCLINICSTAFFA,
     HOSCLINICB
     WHERE
     A.STAFFCODE=#txtUserID#·····
    where后面的条件依然
    来自类,显然这次查询是合并查询,没有必要再建一个表,就把相应的字段,组成LogIn.UserInfo,这也是FormBean,
    
    
    ············
    
    一般resultMap,parameterMap都会在开始定义,这样比较清晰
    接下里再看下paramterMap,
    
    
    
    
    列名,属性名,在数据庫的类型,java中的类型(其实这个列名,如果不在存储过程中,是没必要写的)
    ············
    
    但是这个parameterMap在使用时,还是跟上面的paramenterClass不同的。
    
    SELECTEmployeeID,LastName,FirstNameFROMEmployeesWHEREEmployeeID=?ORLastName=?ORCountry=?
    
    这里就得用?号;,不能用#号了,还得注意中property的顺序跟select语句一致
    下面是调了一个存储过程,procedure存储过程标签
    
    InsertEmployee
    
    InsertEmployee接受两个参数@LastName和@FirstName。我给它提供的映射参数如下:
    (注意上面啊)
    
    
    
    话说,parameterMap如果没有进行配置,怎么使用呢,
    
    UPDATETABSETEDITION=#ID#WHEREUSERID=#USERID#
    
    这里把Map作为了parameterClass,一种隐式调用,这样的话,就得在java代码中进行操作了
    先定义Map哦
    MapparameterMap=newHashMap();
    parameterMap.put("ID","20080101");
    parameterMap.put("USERID","22231232312");
    try{
    sqlMapClient.update("mysqlibatis.update(命名空间.updateID)",parameterMap);
    }`·········
    这样,在update语句中,#ID#,#USERID#为对应的key值
    好吧,上面是简单介绍四种参数
    最经典常用增删改查也是最简单的部分
    
    
    
    
    对应着四种操作sql语句
    注意:
    对于一些特殊符号
    ,如大于号>、小于号<等需要写在    当然还有些字符:orin
    建议使用符号进行统一说明,将此符号内的任何文本不进行解析
    
    处理Like可以用下面的这两种方法
    like'%$name$%'
    
    还有个标签,这个感觉比较难,以下为引用资料:
    **********************************************************************
    1、动态SQL片段
    通过SQL片段达到代码复用
    
    
    selectcount(*)
    

    
    select*
    
    
    fromicp
    
    
    namelike'%$name$%'
    
    
    pathlike'%path$%'
    
    
    area_id=#area_id#
    
    
    hided=#hided#
    
    
    
    
    
    limit#_start#,#_size#
    
    
    
    
    
    
    
    
    
    
    
    
    2、数字范围查询
    所传参数名称是捏造所得,非数据库字段,比如_img_size_ge、_img_size_lt字段
    
        img_size>=#_img_size_ge#
    ]]>
    
    
        img_size<#_img_size_lt#
    ]]>
    
    多次使用一个参数也是允许的
    
    
        execplantime>=#_now#
    ]]>
    
    
        closeplantime<=#_now#
    ]]>
    
    3、时间范围查询
    
    
        createtime>=#_starttime#
    andcreatetime<#_endtime#
    ]]>
    
    
    4、in查询
    
    statein(' ibatis整理资料_网学
当前位置: 网学 > 交易代码 > SQL语法 > 正文

ibatis整理资料

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
content
  • 下一篇资讯: ibatis学习资料
  • 版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    in_state
  • 上一篇资讯: Informix-4gl学习资料informix-4gl
  • 下一篇资讯: ibatis学习资料
  • 相关资讯

    网学推荐

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    )
        
        5、like查询
        
        (chnameonelike'%$chnameone$%'orspellinitiallike'%$chnameone$%')
        
        
        chnametwolike'%$chnametwo$%'
        
        6、or条件
        
            (t.finished='11'ort.failure=3)
        ]]>
        
        
            t.finishedin('10','19')andt.failure<3
        ]]>
        
        7、where子查询
        
        
        
        codenotin
        (selectt.contentcode
        fromcms_ccm_programcontentt
        wheret.contenttype='MZNRLX_MA'
        andt.programcode=#exprogramcode#)
        
        
        
        
        select*
        fromcms_ccm_material
        wherecodein
        (selectt.contentcode
        
        fromcms_ccm_programcontentt
        wheret.contenttype='MZNRLX_MA'
        andprogramcode=#value#)
        orderbyupdatetimedesc
        
        9、函数的使用
        
        
        insertintorulemaster(
        name,
        createtime,
        updatetime,
        remark
        )values(
        #name#,
        now(),
        now(),
        #remark#
        )
        
        selectLAST_INSERT_ID()
        
        
        
        
        updaterulemasterset
        name=#name#,
        updatetime=now(),
        remark=#remark#
        whereid=#id#
        
        10、map结果集
        
        
        selectcount(a.*)
        
        
        selecta.idvid,
        a.imgimgurl,
        a.img_simgfile,
        b.vfilenamevfilename,
        b.namename,
        c.idsid,
        c.urlurl,
        c.filenamefilename,
        c.statusstatus
        
        
        Fromsecfilesc,jujib,videoinfoa
        where
        a.id=b.videoid
        andb.id=c.segmentid
        andc.status=0
        orderbya.idasc,b.idasc,c.sortnumasc
        
        
        
        limit#_start#,#_size#
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        ***********************************************************************
        
        
  • 下一篇资讯: ibatis学习资料
  • 版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师