`
linrulong2005
  • 浏览: 14407 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

技术随笔之手写jdbc→ibatis的思想斗争

 
阅读更多
琢磨着山寨公司的“轩辕剑”(人员管理软件),既不要耗费太多时间,又能功能完善,还真不容易,而且一想到jdbc的那些代码,我就有些不舒服……
于是,想到了用框架……
框架再怎么牛X到了下面还不是手写jdbc,手写jdbc通过原子操作一点点地进行着数据库的数据搬运工作(java ↔ mysql)。虽然用手写jdbc可以精确地控制流程,但是类似的代码,一而再再而三的重复,哥有些受不鸟了。不如看看框架吧,ibatis貌似在公司很流行,虽然之前弄过一阵hibernate,但是纯粹是为了myeclipse中hibernate的逆向工程,代码看起来疼得要命,麻烦得不行了都……今天看了看ibatis,发现还真的很简单。配置一个驱动,驱动里面给一个地址指向要操作的数据对象对应的sqlmap,sqlmap里把sql语句配好,OK可以去调用了。Java→mysql的set工作交给ibatis,mysql→java的解析工作也可以交给ibatis,少写多少代码呀~!但是猛的发现不是那么回事儿,公司的代码有好几层,BaseDAO→ADAO→implement ADAO→调用sqlmap,前面突然多了3层….有不懂问师兄,师兄给讲了半天的业务需要,当扩展的时候修改sqlmap调用不好使,那好多一层implement ADAO,ADAO这个接口干嘛用?虽然说BaseDAO里面可以用来写公共的抽象方法,ADAO里面可以写ADAO独有有的抽象方法,但是我为什么要这样做?我直接用implementADAO来实现BaseDAO不就完了?师兄也觉得用功能扩展的理由不能打发我了,他猛地一拍大腿:“我们调用的时候通过接口来实现动态联编,防止我们的实现类被暴露。”原来是解决安全问题。还有,如果有一天ibatis收费了,要改用别的框架,只需要去重新写一套implementADAO就行了,因为只有implement这一层才是和ibatis才是直接和框架打交道的。如果迁数据库呢,只需要该配置文件就好了。为了让自己的程序更为健壮,多出来这么多东西……如果不需要那么好的安全性,不需要那么好的扩展性,其实有sqlmap就够了….
仅以此小记来说说我们那些看似麻烦却有必要的活儿~~

分享到:
评论

相关推荐

    iBATIS3与JDBC性能对比

    本篇文章将深入探讨iBATIS3和JDBC在性能上的对比,以帮助开发者更好地理解这两种技术的优劣。 iBATIS3是一个轻量级的持久层框架,它提供了一种将SQL语句与Java代码分离的方式,通过XML或注解来定义SQL映射,增强了...

    springmvc_hibernate_ibatis_jdbc

    标题中的"springmvc_hibernate_ibatis_jdbc"指的是一个整合了SpringMVC、Hibernate、iBatis和JDBC这四种关键技术的Java应用框架。这个框架旨在提供一个全面且强大的解决方案,便于开发人员进行Web应用程序的构建。 ...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    ### MySQL、JDBC详解及与iBatis对比 ...通过对MySQL的基本操作、JDBC的工作原理以及iBatis与JDBC的对比分析,我们可以更全面地理解数据库编程的关键概念和技术要点。希望本文能够帮助开发者们更加熟练地掌握这些技能。

    IBATIS 手写的生成工具包括POJO与SQL

    自己写的工具!...如果有愿意一起完善,现在支持POJO 与 SQL的生成 可以自己写一个BASEDAO来完成 HIBERNATE的 增删改 查询那是IBATIS的强项了 只有3个简单的查询! 愿意完善的请加我QQ 81611911可提供源码!

    ibatis教程,ibatis帮助文档

    iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库查询的简化,尤其在JDBC编程方面提供了极大的便利。相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现...

    ibatis技术总结

    ### ibatis技术总结 #### 1. 创建iBatis工程的步骤 在开始构建一个基于iBatis的应用之前,需要遵循一系列明确的步骤来确保项目的顺利进行: 1. **建立数据库**:首先需要设计并创建数据库,这一步骤至关重要,...

    ibatis实现分页技术

    Ibatis是由Clinton Begin创建的一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,通过Java接口与数据库进行交互,从而避免了传统的JDBC代码编写,降低了开发复杂性。Ibatis提供动态SQL和事务管理等功能,...

    iBatis技术框架介绍

    iBatis技术框架介绍。ibatis2.x教程。

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    在源码中,`org.apache.ibatis.transaction.jdbc.JdbcTransaction`和`org.apache.ibatis.transaction.managed.ManagedTransaction`分别对应JDBC和Spring的事务管理。 十、缓存机制 iBatis提供了本地缓存和二级缓存...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,提供了更加灵活的数据访问接口。 在"ibatis demo"中,我们通常会看到以下核心概念和知识点: 1. **配置文件**:Ibatis的配置文件(mybatis-...

    Spring+Ibatis技术

    Spring+Ibatis技术:很好的架构文档

    仿照iBATIS手写持久层框架

    总的来说,仿照iBATIS手写持久层框架涉及到的关键技术有:XML解析(DOM或SAX)、Java反射、JDBC事务管理以及结果集映射。这个过程不仅可以帮助我们深入理解iBATIS的工作原理,也能锻炼我们的编程能力,提升对数据库...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    经典开源插件之ibatis

    ### 经典开源插件之ibatis #### 概述 ibatis(现称为MyBatis)是一款优秀的持久层框架,它将SQL语句与Java代码分离,支持自定义SQL查询、存储过程以及高级映射等功能。ibatis的灵活性使得开发者能够通过简单的XML...

    ibatis资料ibatis资料

    4. **了解MyBatis**: 虽然iBATIS已被MyBatis取代,但两者有很多相似之处。了解MyBatis的新特性,如注解支持和更强大的动态SQL,可以帮助你更好地迁移和升级项目。 5. **社区资源**: 利用互联网上的论坛、博客和问答...

    Ibatis学习随笔

    本篇随笔将深入探讨Ibatis的核心概念、使用方法以及它在实际开发中的应用。 一、Ibatis概述 Ibatis是由Apache软件基金会维护的项目,它的设计目标是简化Java应用与数据库之间的交互,避免了传统的JDBC代码编写过程...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    Ibatis入门例子,Ibatis教程

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...

    Ibatis学习随笔.doc

    Ibatis 是一款轻量级的Java持久层框架,它的核心思想是将SQL语句与Java代码分离,使得开发者可以更加灵活地控制SQL的编写,同时避免了传统的JDBC中的大量模板代码,提高了开发效率和代码的可维护性。在本文中,我们...

    Ibatis 入门经典 实例

    相较于传统的 JDBC,Ibatis 提供了更灵活的数据访问层,使得数据库操作更加简洁高效。 二、Ibatis 安装与配置 1. 添加依赖:在 Maven 项目中,需要在 `pom.xml` 文件中添加 Ibatis 的依赖。 2. 配置文件:创建 `...

Global site tag (gtag.js) - Google Analytics