zoukankan      html  css  js  c++  java
  • xml配置SQL语句

    现在很多软件都直接使用ORM框架来进行数据库操作,也就此出现代码优先。

    ORM框架一个麻烦是效率和复杂查询语句,在有些情况下并不好,而且难以控制生成的SQL.

    另外一种则是直接写SQL语句,对于c#来说就是ado.net.

    还有类似spring.net的框架,但是遗憾的是配置SQL的库还是有一定封闭性,基本和ORM绑定,或者需要自己操作数据库,没有将生成的SQL语句提供出来,我还没有找到类似的。因此,轮子来了。

     采用XML配置SQL语句,一个语句就是一个Statement节点,携带ID属性,ID标记需要使用的SQL方法,程序将自动反射调用的类名称,方法名称,分别作为xml文件名称和节点名称。然后解析xml;

     xml内部节点被映射成程序方法,主要有Isnotempty映射实体属性为空判断,Dynamic映射我们一般的条件判断,引用了动态linq,

    方法的参数映射成SQL的参数。

    定义的主要节点:where ,set,choose,when,othersize,witch,case,default,page判断连接

    条件节点:IsNotEmpty,Dynamic

    类似你会看见:

    <Statement Id="Test" >

      select * from  test  where id=@id
      </Statement>

    或者扩展

    <Statement Id="Test" >

      select * from  test  

    <where IsNotEmpty="name">

    name=@name

    </where>
      </Statement>

    初步项目:https://github.com/jinyuttt/SmartXmlSql.git

  • 相关阅读:
    极角排序
    字符串板
    splay和lct
    国庆训练
    电子公文传输系统团队项目 确定分工
    2020课程设计——第二周进展
    在Ubuntu下使用OpenSSL搭建CA
    电子公文传输系统团队项目 需求分析
    2020课程设计——第一周进展
    2020课程设计——个人任务
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/12629026.html
Copyright © 2011-2022 走看看