Hibernate和Ibatis的使用真的能方便应用在不同的数据库迁移吗?
大家都说hibernate的一个好处是程序可以很方便的更换数据库。ibatis也是。我是这样理解上面的说法的:因为Hibernate代替程序员编写sql语句,故当更换数据...
大家都说hibernate的一个好处是程序可以很方便的更换数据库。ibatis也是。
我是这样理解上面的说法的:因为Hibernate代替程序员编写sql语句,故当更换数据库时,Hibernate可以更加对应数据产生可以使用的sql。但是ibatis不会自动生成生sql语句,怎么也方便迁移到不同的数据库了呢?
一句话,影响应用更换数据库的东西只有一个,即sql语句的数据库针对性。那么是不是可以假设,如果编写的sql语句不包含数据库特性,是不是用jdbc也可以很方便的迁移到不同的数据库。 展开
我是这样理解上面的说法的:因为Hibernate代替程序员编写sql语句,故当更换数据库时,Hibernate可以更加对应数据产生可以使用的sql。但是ibatis不会自动生成生sql语句,怎么也方便迁移到不同的数据库了呢?
一句话,影响应用更换数据库的东西只有一个,即sql语句的数据库针对性。那么是不是可以假设,如果编写的sql语句不包含数据库特性,是不是用jdbc也可以很方便的迁移到不同的数据库。 展开
2个回答
展开全部
是的,如果你在ibatis里面使用了数据库特有的函数,那么在迁移数据库时一样也要改动代码的。
但是JDBC里面不太一样,因为加载数据库驱动都是在代码中进行的,
Class.forName("oracle.jdbc.driver.OracleDriver")
,只要进行了数据库迁移,改动代码是难免的.
如果采用配置文件来管理数据库驱动,并注意使用PL/SQL标准的sql语句,不使用数据库特有的函数等等,就像spring-jdbc,这样子做数据库迁移也很容易
但是JDBC里面不太一样,因为加载数据库驱动都是在代码中进行的,
Class.forName("oracle.jdbc.driver.OracleDriver")
,只要进行了数据库迁移,改动代码是难免的.
如果采用配置文件来管理数据库驱动,并注意使用PL/SQL标准的sql语句,不使用数据库特有的函数等等,就像spring-jdbc,这样子做数据库迁移也很容易
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询