项目结构
完整代码
poseidon.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>
<!--数据源配置,默认本地数据库连接信息 -->
<environments default="local">
<!-- 本地数据库连接信息 -->
<environment id="local">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
</dataSource>
</environment>
</environments>
<!-- 注册sqlMapping.xml文件 (存放Sql语句) -->
<mappers>
<mapper resource="config/sqlMapping.xml" />
</mappers>
</configuration>
sqlMapping.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace命名空间,sqlId的唯一标识为 namespace + 下面语句id -->
<mapper namespace="com.kyl.oracle">
<select id="selectEmpCount" resultType="int">
select COUNT(*) from SCOTT.EMP
</select>
</mapper>
test.java
package test;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
* myBatis数据库连接测试
*/
public class test {
public static void main(String[] args) throws Exception {
//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader("poseidon.xml");
//构建sqlSession的工厂
SqlSessionFactoryBuilder ssfBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = ssfBuilder.build(reader);
//创建能执行映射文件中sql的sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//查询语句
int count = sqlSession.selectOne("com.kyl.oracle.selectEmpCount");
System.out.println("count:" + count);
sqlSession.close();
}
}