当前位置: 首页 > news >正文

济宁做网站哪家比较好建个网站花钱做百度推广

济宁做网站哪家比较好,建个网站花钱做百度推广,如何更换wordpress域名,郑州电商网站设计OGNL表达式 OGNL,全称为Object-Graph Navigation Language,它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,它旨在提供一个更高的更抽象的层次来对Java对象图进行导航。 OGNL表达式的基本单位是"导航链"&a…

        OGNL表达式

        OGNL,全称为Object-Graph Navigation Language,它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,它旨在提供一个更高的更抽象的层次来对Java对象图进行导航。

        OGNL表达式的基本单位是"导航链",一般导航链由如下几个部分组成:

属性名称(property) 
方法调用(method invoke) 
数组元素
所有的OGNL表达式都基于当前对象的上下文来完成求值运算,链的前面部分的结果将作为后面求值的上下文。例如:names[0].length()。

        MyBatis动态SQL使用OGNL表达式来判断条件,并根据条件决定是否包含某个SQL片段。OGNL表达式是一种基于Java表达式的语言,可以访问Java对象和方法。动态SQL是一种允许根据不同条件在SQL语句中动态生成特定的查询条件、表名、列名等的技术。通过使用动态SQL,可以减少代码的重复度,提高代码的灵活性和可维护性。

        Mybatis提供了以下几种常用的动态SQL标签:

if、choose、when、otherwise、trim、where、set、foreach、bind、include

1、<if>: 

if是为了判断传入的值是否符合某种规则,比如是否不为空;

2、<where>:

 where标签可以用来做动态拼接查询条件,where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。

3、<choose><when><otherwise>:

这是一组组合标签,他们的作用类似于 Java 中的 switch、case、default。只有一个条件生效,也就是只执行满足的条件 when,没有满足的条件就执行 otherwise,表示默认条件;

4、<foreach>:

foreach标签可以把传入的集合对象进行遍历,然后把每一项的内容作为参数传到sql语句中,里面涉及到 item(具体的每一个对象), index(序号), open(开始符), close(结束符), separator(分隔符);

u

6、<set>:
适用于修改更新中,当匹配某个条件后,才会对该字段进行更新操作。

7、<trim>:
trim标签通常用来去掉特定字符或者关键字。
是一个格式化标签,主要有4个参数:

    prefix(前缀);

    prefixOverrides(去掉第一个标记);

    suffix(后缀);

    suffixOverrides(去掉最后一个标记);

8、<bind>: 
bind 标签用于定义一个变量,该变量可以被后续的 SQL 片段引用,方便了 SQL 的编写。

动态sql的执行原理:
使用 OGNL 的表达式,从 SQL 参数对象中计算表达式的值,根据表达式的值动态拼接 SQL ,以此来完成动态 SQL 的功能。


        动态sql的执行原理:
第一部分:在启动SqlSessionFactory加载解析xml配置文件的时候进行解析,根据关键标签封装成对应的handler处理对象,封装成sqlSource对象存在mappedStatement。

调用流程:

        1.SqlSessionFactoryBuilder对builder对象的时候,调用XMLConfigBuilder解析sqlMapConfig.xml配置文件,在解析过程中使用到了私有的mapperElement(XNode parent)方法

        2.上面方法中通过构建XMLMapperBuilder,获取到所有的配置mapper配置,在调用private void configurationElement(XNode context)方法进行解析mapper.xml,通过void buildStatementFromContext(List<XNode> list, String requiredDatabaseId)方法解析mapper.xml内的每一个标签

        3.循环中构建XMLStatementBuilder对象,调用parseStatementNode()方法来封装mappedStatment对象,

        4.在过程中需要构建sqlSource对象,通过XMLLanguageDriver对象进行处理,在XMLLanguageDriver中构建解析动态标签对象XMLScriptBuilder

第二部分:在执行过程中获取sqlSource中获取bondSql对象时,执行相应的标签handler。

        调用查询执行到BaseExecutor的query方法时候会去getBoundSql并且将参数传进去,在sqlSource接口DynamicSqlSource实现类中,调用getBoundSql方法执行过程共创建DynamicContext对象进行判定解析封装成SqlSource对象返回。

http://www.yayakq.cn/news/818407/

相关文章:

  • jsp 网站连接数据库如何建设网站服务器
  • 网站的运营成本dedecms导入网站模板下载
  • 调兵山网站做网站例子图片描述
  • 网站开发设计框图网站建设注意哪些
  • 团队网站建设国际本科
  • 小男孩和女人做的网站东莞 营销网站
  • 企业网站建设变相收取等级保护费郑州网站建设哪家最好
  • 自己做博客网站和百家号的区别网站开发使用语言
  • 河南艾特网站建设公司网站免费进入窗口软件有哪些
  • 可以做婚礼视频的网站软件定制开发一般多少钱
  • 制作网站一年多少钱网易企业邮箱登录页
  • 机械网站建设开发东莞外贸网络推广
  • 企业形象型网站建设怎样申请自己企业的网站
  • 网站域名费怎么查询品牌网站建设方案
  • 苏州seo关键字优化站长工具seo综合查询
  • 做淘客网站需要营业执照吗南宁房产信息网
  • seo品牌优化整站优化公司网站销售平台建设费分录
  • 商城版网站制作修改wordpress模板
  • 东莞网站建设工作室淄博网站制作网页公司
  • 个人网站主页html5安卓搭载wordpress
  • 建设公司网站模版网站建设意见征求
  • 中文wordpress博客模板下载wordpress自动评论seo工具
  • 营销网站的推广网站建设分析报告
  • 天津网站优化建设清河网站建设
  • 企业网站源码怎么获取网站建设 任务分配表
  • 网站需要兼容哪些浏览器怀化二医院网站
  • 上海哪家网站建得好泽州县住房保障和城乡建设局网站
  • php wordpress 代码模板烟台seo关键词排名
  • 网站开发的调研内容做网站学哪方面知识
  • 河南网站建设推广运营网站建设经费管理