Mybatis的数据库选择
来源:互联网 发布:热血江湖源码 编辑:程序博客网 时间:2024/06/17 00:25
如果想使用多个数据库,配置文件如下:
这是数据库的properties文件
############ mysql ############jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:///hibernatejdbc.user = rootjdbc.password = 123############ oracle ############orcl.driver = oracle.jdbc.driver.OracleDriverorcl.url = jdbc:oracle:thin:@localhost:1521:orclorcl.user = scottorcl.password = tiger
这是mybatis的xml文件配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="db_mysql.properties"/><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><typeAliases><package name="com.anseon.pojo"/></typeAliases><!-- 配置使用某一数据库的环境,说明当前环境使用哪个数据库 --> <environments default="dev_mysql"> <environment id="dev_mysql"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.user}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> <environment id="dev_oracle"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${orcl.driver}"/> <property name="url" value="${orcl.url}"/> <property name="username" value="${orcl.user}"/> <property name="password" value="${orcl.password}"/> </dataSource> </environment> </environments> <!-- type、name、value是固定的,具体可以在mybatis官网教程中查阅 --> <databaseIdProvider type="DB_VENDOR"> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle" /></databaseIdProvider> <mappers> <mapper class="com.anseon.mapper.EmpMapper"/> </mappers></configuration>
这是对应的mapper.xml文件中的使用
<select id="findEmpByNo" resultType="emp" databaseId="mysql"> select * from emp where empno = #{empno} </select>
databaseId的值对应mybatis配置文件中databaseIdProvider的value值
有个需要注意的点:
如果mapper文件中有同样id的语句,如下
<select id="findEmpByNo" resultType="emp"> select empno from emp where empno = #{empno}</select><select id="findEmpByNo" resultType="emp" databaseId="mysql"> select * from emp where empno = #{empno}</select> <select id="findEmpByNo" resultType="emp" databaseId="oracle"> select empno,ename lastName,sal salary from emp where empno = #{empno}</select>
这时候应该执行哪句呢?
决定因素在于mybatis配置文件中的environments,如果默认使用mysql,就执行databaseId是mysql的,如果是使用Oracle,就执行databaseId是oracle的。如果有指定的databaseId,就不会执行什么都没有注明的语句。
这样就能够针对不同的数据库执行他能识别的sql语句
阅读全文
0 0
- Mybatis的数据库选择
- MyBatis 的数据库操作
- 数据库的选择
- 小型数据库的选择
- shark数据库的选择
- 数据库的选择
- 数据库的选择
- 数据库索引的选择
- mybatis的选择查询,模糊查询
- javase mybatis的操作数据库
- mybatis实现的数据库排序
- mybatis的oracle数据库操作
- Mybatis的简单数据库操作
- MyBatis实现数据库的CRUD
- Mybatis操作数据库的方式
- Mybatis简单的操作数据库
- 数据库选择合适的字段
- 如何选择数据库的主键
- 计算星期(基姆拉尔森公式)
- c++ bitset学习小记
- Excel之实现鼠标点击完成自动累加功能
- MySQL update替换字段部分内容
- 贪心+SPFA——游
- Mybatis的数据库选择
- Hibernate查询
- HTMLDOM 滚动 可见高度,总高度(offsetHeight,scrollHeight)
- Linux服务器下PHPMailer发送邮件失败问题的解决
- 【云星数据---mesos实战系列002】:mesos全分布式部署实战003--zookeeper全分布式部署准备
- 2017.11.9
- 【模板】线性筛素数(埃筛+欧筛)
- PHP中利用redis实现消息队列处理高并发请求
- ACE-IP包装ACE_INET_Addr类