传统企业的如银行金融,他们的网络软件功能的访问数据库,听说基本是存储过程写好,程序员只需要调用一次就行了。 后来互联网企业出现了,不倡导,甚至禁止用数据库自带的组件,例如存储过程,触发器,游标一类,阿里云就是这么一个例子,既然不能用存储过程封装 sql 语句了,那么为了开发方便,就得用 orm 框架了,最开始是 hibernate,但重,学习成本高,然后是 mybatis 。但 mybatis 是半自动 orm 框架。除了封装 jdbc 大部分操作,还有管理 sql 语句模板的功能。后来的 orm 框架基本有这两个框架的影子,要么就是类似.net linq 那一套。
各位程序员们写负责功能 Controller 类代码时候,写一个接受请求的方法,各位写的请求接受代码里,所编写的编写的代码里,最多会出现多少次 jdbc 链接次数?
那么问题来了,我担心的是一个功能连数据库的次数较多,并发起来叠加会不会出现什么奇怪的问题?数据库死锁?还是其他的什么? 编写一个功能代码,jdbc 访问数据库弄成一次,还是多次?(类似 Spring mvc 那种拦截器权限验证和用户日志记录不算),如果弄成一次,各位是写存储过程封装,还是把 sql 语句丢到类似 mybatis 框架的 sql 模板文件里?还是大家为了开发方便和规范,大部分是用类似 tk.mybatis 或者是 JPA 之类的 orm 框架,都是超过 2 次以上的多次调用 jdbc 访问数据库,只有特复杂的,才会写 sql 语句用 mybatis 管理。是这样的吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.