Atitit 纯java项目标进步速度大法—通用json dsl接口

 

 

Atitit 纯java项目标升级换代速度大法---通用json dsl接口

 

 

Atitit
mybatis快捷开发 的sql api接口

1.
Json
dsl接口1

 

1.1.
Url:  http://aaa.com/api\_jsondsl?dsl={}1

1.1.
sql格局 开发进程大大快与
映射情势1

1.2.
参数为json对象,具体字段如下1

1.2.
MyBatis Mapper1

1.3.
返回 :json数组。2

1.2.1.
代码2

2.
范例:查询用户数据2

1.2.2.
原理2

2.1.
充实数据2

1.3.
参考资料3

2.2.
修改数据3

 

 

 

1. Json dsl接口

1.1.   sql方式 开发进程大大快与 映射情势

1.1. Url:  http://aaa.com/api\_jsondsl?dsl={}

 

1.2. MyBatis Mapper

想必有点人也有过类似必要,一般都会选用使用其它的法子如Spring-JDBC等形式化解。

可否通过MyBatis完毕如此的出力吗?

为了让通用Mapper更彻底的支撑多表操作以及更灵活的操作,在<b>2.2.0版本</b>增添了壹个方可一贯实施SQL的新类SqlMapper。

注:3.3.0版本去掉了那个类,那么些类以往在EntityMapper项目

EntityMapper是通用Mapper2.x版本中的一有个别,通用Mapper3.x今后将EntityMapper移出了通用Mapper,所以EntityMapper独立出来。

提出利用通用Mapper,通用Mapper3更强有力,通用方法越多,更便宜扩大。

 

1.2. 参数为json对象,具体字段如下

 

参数(英文版)

参数(中文版)

含义

范例

参数类型

op

操作

操作类型

Select query查询

Insert new add添加

Update up更新

Del delete 删除

字符串

Datatype

数据类型

数据类型

User 用户,acc账户 。。。

字符串

queryFields

查询字段

查询字段

用户名,备注

字符串,逗号分隔

Condition

条件

条件

用户名=’王伟’ and 年龄>22

字符串,支持常见表达式

Order

数据排序依据字段

数据排序依据字段

Id,名称

 

Page

页数

翻页

1

数字

Pagesize

每页条数

每页条数数

10

数字

Data

数据内容

更新和新增数据
的字段与内容

{用户名:’王伟’,电话:”135555555”}

Json数组

 

1.2.1. 代码

import com.github.abel533.sql.SqlMapper;

org.mybatis.spring.SqlSessionFactoryBean  factoryBean=SpringUtil.build4wash().getBeanV2(SqlSessionFactoryBean.class);

 SqlSessionFactory sql_sessionFactory = factoryBean.getObject();

   SqlSession sqlSession = sql_sessionFactory.openSession();

 //创建sqlMapper

  SqlMapper sqlMapper = new SqlMapper(sqlSession);

//查询,返回List<Map>

List<Map<String, Object>> list = sqlMapper.selectList("select * from s_member limit 3");

 System.out.println(AtiJson.toJson(list));

 

1.3. 返回 :json数组。

 

1.2.2. 原理

 

 

  public
List<Map<String, Object>> selectList(String sql) {

        String
msId = msUtils.select(sql);

        return
sqlSession.selectList(msId);

}

 

Msid SELECT.-1361880592

/palmWin/src/main/java/com/github/abel533/sql/SqlMapper.java

 

 

    private String
select(String sql) {

            String
msId = newMsId(sql, SqlCommandType.SELECT);

            if
(hasMappedStatement(msId)) {

                return
msId;

            }

            StaticSqlSource
sqlSource = new StaticSqlSource(configuration, sql);

            newSelectMappedStatement(msId,
sqlSource, Map.class);

            return
msId;

        }

 

StaticSqlSource是mybatis提供的类库

 

2. 范例:查询用户数量

http://aaa.com/api\_jsondsl?dsl=** {**

    "操作":
"查询",

    "数据类型": "用户数量",

    "查询属性": "用户名,年龄,电话",

    "条件":
"用户名='王伟'
and  电话='1356666666'",

    "数据排序依照字段": "电话,用户名 倒排",

    "页数":
2,

    "每页条数": 10

}

 

小心:dsl参数须求urlencode,那里为了可读性权且不编码

1.3. 参考资料

MyBatis直接执行SQL的工具SqlMapper

  • abel533的村办页面.html

MyBatis直接执行SQL的工具SqlMapper

  • abel533的个体页面.html

 

 

小编:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher
 kok  虔诚者Pious 教派信仰捍卫者 Defender Of the
Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: 埃米尔 Attilax Akbar 埃米尔阿提拉克斯 Ake巴

姓名::埃米尔 Attilax Akbar bin Mahmud
bin  attila bin Solomon bin adam Al Rapanui 埃Mill 阿提拉克斯 阿克巴 本
马哈茂德 本 阿提拉 本 Solomon 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

职称:uke总部o2o管事人,全球网格化项目创办者,

uke交友社团会长  uke捕猎社团会长 埃米尔 Uke部落首席大酋长,

 

uke宗教与知识融合事务部委员长, uke宗教革新委员会副主席

uke制度与重大会议委员会司长,uke保安部首席大队长,uke制度检查委员会副会长,

 

uke 首席cto
  软件部门CEO 技术部副老董  研发部门主管老总  产品部副主管项目部副高管   uke科技(science and technology)商量院部长uke软件培训大师

 

ukePolly尼西亚区大区连锁管事人汤加王国区域首长 uke克尔格伦群岛区连锁管事人,莱恩群岛区连锁管事人,uke布维岛和南格奥尔格e亚和南桑威奇群岛大区连锁管事人

 Uke软件条件协会监护人长管事人长 Uke 数据库与存储标准化协会副会长

 

uke生平教育学校副校长
  Uke医院 与工学院方面的元老

 uec高校校长, uecip图像处理机器视觉专业系高管  uke文档检索专业系经理

Uke图像处理与机具视觉高校首席部长

Uke 户外运动社团管事人长
 度假村首席大镇长   uke出版社编写总编

 

转载请注明来源:attilax的专辑
 ?http://www.cnblogs.com/attilax/

--Atiend  v8

 

 

2.1. 日增数据

http://aaa.com/api\_jsondsl?dsl=** {**

    "操作":
"添加数据",

    "数据类型": "用户数量",

    "内容":
[        {

            "用户名": "王伟",

            "电话":
"123"

        },
        {

            "用户名": "李三",

            "电话":
"456"

        }

    ]

}

2.2. 修改数据

http://aaa.com/api\_jsondsl?dsl=** {**

    "操作":
"修改数据",

    "数据类型": "用户数据",

    "内容":
[        {

            "用户名": "王伟",

            "电话":
"123"

        },
        {

            "用户名": "李三",

            "电话":
"456"

        }

],

    "条件":
"id=34"

}

 

 

 

前段会见调用

 

 

<textarea
 id="txt" style="width:700px;height:700px" ></textarea>

<meta
http-equiv=Content-Type content="text/html; charset=gbk">

<script>

 

function 按照(col)

{

 

return {

倒排:function(){return  col+" desc"
}

};

}

 

 

出殡参数={};

发送参数.操作="查询"

发送参数.数据类型="用户数量"

出殡参数.查询属性="用户名,年龄,电话";

发送参数.条件="用户名='王伟' and  电话='1356666666'";

出殡参数.数据排序依照字段="用户名 倒排"

出殡参数.页数=2;

出殡参数.每页记录数=10;

 

 //document.getElementById('txt').value=JSON.stringify(发送参数);

 

 

 发送参数={};

发送参数.操作="添加数据"

发送参数.数据类型="用户数量"

 

发送参数.内容=[];

发送参数.内容.push({});

发送参数.内容[0].用户名="王伟";

出殡参数.内容[0].电话="123";

出殡参数.内容.push({});

发送参数.内容[1].用户名="李三";

发送参数.内容[1].电话="456";

 

//document.getElementById('txt').value=JSON.stringify(发送参数);

 

 

 

 发送参数={};

发送参数.操作="修改数据"

发送参数.数据类型="用户数据"

 

发送参数.内容=[];

出殡参数.内容.push({});

出殡参数.内容[0].用户名="王伟";

发送参数.内容[0].电话="123";

发送参数.内容.push({});

发送参数.内容[1].用户名="李三";

出殡参数.内容[1].电话="456";

 发送参数.条件="id=34"

document.getElementById('txt').value=JSON.stringify(发送参数);

 

</script>

 

 

笔者:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher
 kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the
Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: 埃米尔 Attilax Akbar 埃Mill阿提拉克斯 Ake巴

姓名::埃米尔 Attilax Akbar bin Mahmud
bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 Ake巴 本
马哈茂德 本 阿提拉 本 Solomon 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

职称:uke总部o2o管事人,全世界网格化项目创办者,

uke交友协会会长  uke捕猎协会会长 埃米尔 Uke部落首席大酋长,

 

uke教派与知识融合事务部部长, uke宗教改良委员会副主席

uke制度与根本会议委员会市长,uke保安部首席大队长,uke制度检查委员会副会长,

 

uke 首席cto
  软件部门COO 技术部副老总  研发部门老董老董  产品部副老板项目部副老董   uke科技(science and technology)探究院部长uke软件培训大师

 

uke波莉尼西亚区大区连锁总管汤加王国区域老董 uke克尔Glenn群岛区连锁管事人,莱恩群岛区连锁管事人,uke布维岛和南格奥尔格e亚和南桑威奇群岛大区连锁管事人

 Uke软件条件协会管事人长负责人长 Uke 数据库与存储标准化协会副会长

 

uke终生教育学校副校长
  Uke医院 与医高校方面的老祖宗

 uec大学校长, uecip图像处理机器视觉专业系主任  uke文档检索专业系经理

Uke图像处理与机具视觉高校首席局长

Uke 户外运动社团管事人长
 度假村首席大村长   uke出版社编辑总编

 

转发请注脚来源:attilax的特辑
 ?http://www.cnblogs.com/attilax/

--Atiend  v8

 

 

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。