V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  TommyLemon  ›  全部回复第 13 页 / 共 34 页
回复总数  669
1 ... 9  10  11  12  13  14  15  16  17  18 ... 34  
2019-04-01 16:29:03 +08:00
回复了 myliang 创建的主题 JavaScript 人生第一个过 4K Star 的 项目 x-spreadsheet 感谢各位大佬的支持
厉害,已 Star 支持
2019-04-01 00:14:10 +08:00
回复了 LongLights 创建的主题 Java Mybatis 是注解方式用得多还是 xml 用得多
可以参考以前的 V2 帖子:现在用 mybatis 都不用 xml 了吗
https://www.v2ex.com/t/541755
先收藏一下
2019-03-21 23:31:06 +08:00
回复了 jinx930621 创建的主题 Java 关于 mybatis 和通用 mapper 的一些疑问
如果有什么疑问,可以看下这个帖子,评论里的各种问题都一一解答了。

自动化 ORM 库 APIJSON 3.4.9 发布,已 5K Star 入选码云最具价值项目
https://www.v2ex.com/t/544424
2019-03-21 23:28:38 +08:00
回复了 jinx930621 创建的主题 Java 关于 mybatis 和通用 mapper 的一些疑问
@anyele 你看下 #7 的回复,人家就需要扩展思路,甚至能解决问题( APIJSON 是能达到楼主想要省去大量代码的效果的)的方案,就因为你们自己的情绪还不让人合法合规地发言了?
2019-03-21 23:24:55 +08:00
回复了 jinx930621 创建的主题 Java 关于 mybatis 和通用 mapper 的一些疑问
@jinx930621 GraphQL 可做不到这些,全都要手写的,除了过滤字段,而且只能在网络层面自动过滤,做不到像 APIJSON 一样直接在数据库层面自动过滤。
APIJSON 与 GraphQL 全方位对比
https://juejin.im/post/5ae80edd51882567277433cf
2019-03-21 16:53:49 +08:00
回复了 jinx930621 创建的主题 Java 关于 mybatis 和通用 mapper 的一些疑问
可以用 APIJSON 的自动化 JOIN,后端不用写一行代码,前端传一个 join 键值对就好。

例子:
前端传入一个 JSON
```js
{
"[]": {
"count": 10, // LIMIT 10
"join": "</User/id@", // Comment LEFT JOIN User
"Comment": {
"content~": "a", // content REGEXP 'a'
"@group": "momentId", //GROUP BY momentId
"@order": "date+" //ORDER BY date ASC
},
"User": {
"@column":"id,name", // SELECT id,name
"id@": "/Comment/userId" // ON User.id = Comment.userId
}
}
}
```
APIJSONORM 自动生成
```sql
SELECT `Comment`.*, `User`.`id`, `User`.`name` FROM `sys`.`Comment` AS `Comment` WHERE `Comment`.`content` REGEXP 'a'
LEFT JOIN (SELECT `id`, `name` FROM `sys`.`apijson_user`) AS `User` ON `User`.`id` = `Comment`.`userId`
GROUP BY `Comment`.`momentId` ORDER BY `Comment`.`date` ASC LIMIT 10 OFFSET 0
```

说明:
④ "join":"&/Table0/key0@,</Table1/key1@"
多表连接方式:
"<" - LEFT JOIN
">" - RIGHT JOIN
"&" - INNER JOIN
"|" - FULL JOIN
"!" - OUTTER JOIN
"@" - APP JOIN
其中 @ APP JOIN 为应用层连表,会从已查出的主表里取得所有副表 key@ 关联的主表内的 refKey 作为一个数组 refKeys: [value0, value1...],然后把原来副表 count 次查询 key=$refKey 的 SQL 用 key IN($refKeys) 的方式合并为一条 SQL 来优化性能;
其它 JOIN 都是 SQL JOIN,具体功能和 MySQL,PostgreSQL 等数据库的 JOIN 一一对应,
"ViceTable":{ "key@:".../MainTable/refKey" }
会对应生成
MainTable ... JOIN ViceTable ON ViceTable.key=MainTable.refKey。


已有 5.3K Star, 并已入选 码云最有价值项目,GitHub 右上角点 Star 支持下吧^_^
https://github.com/TommyLemon/APIJSON
2019-03-21 16:49:00 +08:00
回复了 jinx930621 创建的主题 Java 关于 mybatis 和通用 mapper 的一些疑问
@blless
模糊测试用现有的工具即可,APIJSON 的 Demo 提供了 HTTP API,
甚至也实现可以用 TCP, UDP 来通信的 Demo,暴露出的 API 就能用工具进行模糊测试。
@woscaizi
建议使用 APIJSON 时,权限用 APIJSONORM 提供的自动化权限 注解+注册 的方式控制。
如果一定要用 Shiro 这种基于路由的权限库,可以拼接 APIJSON 的通用 API 与请求 JSON 里的 tag,
例如 base_url/post 与 tag:User 拼接就是 base_url/post/user,给它传进去一个虚拟路由,动态设置 URL。
@rogwan 感谢,哈哈,其实用 MySQLWorkbench, Datagrip, Navicat 等各种数据库工具建表也很方便了
1 ... 9  10  11  12  13  14  15  16  17  18 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 20:00 · PVG 04:00 · LAX 13:00 · JFK 16:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.