<insert id="insertByVo" parameterType="TEST">
<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
上面是MYSQL语句的自增长语句
<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_TEST.nextval AS id FROM DUAL
</selectKey>
上面是oracle 自增长语句
请问 怎么动态判断数据库类型 而选择其中一条语句 就是两句合拼在一起 然后根据数据库类型动态切换那一条数据
------解决思路----------------------
自增一般都不拿语句控制的,如果有特殊需求我还真不知道,不过应该可以借用存储过程实现。执行mysql的自增如果不报错 就是mysql返回结果,否则,再执行oracle的自增如果不报错就是oracle
------解决思路----------------------
你切换数据源的时候就应该知道了。
你动态切换数据源,不同的数据源加载不同ibatis文件,不需要再去判断是否oracle或者mysql
------解决思路----------------------
你切换数据库的时候不就知道是什么数据库了吗 ? 你可以在定义一个全局的变量(这个变量最好在mapper文件中能方便的取到值,比如可以放在所有实体的父类中),读取配置文件,来存储数据库的类型,然后在这判断。
------解决思路----------------------
Class DataSourceUtils
java.lang.Object
org.springframework.jdbc.datasource.DataSourceUtils