MyBatis第一個連線mysql入門測試小程式
阿新 • • 發佈:2018-12-18
使用MyBatis實現以下功能: 根據使用者id查詢一個使用者:
一:加入mybatis核心包、依賴包、資料驅動包: 二:建立對映檔案User.xml與配置檔案SqlMapConfig.xml: User.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:名稱空間,用於隔離sql> <mapper namespace="test"> <select id="getUserById" parameterType="int" resultType="com.sea.crm.pojo.User"> select * from user where id=#{id} </select> </mapper>
SqlMapConfig.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> <!-- 和spring整合後 environments配置將廢除 --> <environments default="development"> <environment id="development"> <!-- 使用jdbc事務管理 --> <transactionManager type="JDBC" /> <!-- 資料庫連線池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/seamybatis?characterEncoding=utf-8" /> <property name="username" value="******" /> <property name="password" value="******" /> </dataSource> </environment> </environments> <mappers> <mapper resource="sqlmap/user.xml"/> </mappers> </configuration>
三:建立pojo類: pojo類作為mybatis進行sql對映使用,pojo類通常與資料庫表對應(資料庫表和pojo這裡我就省略了)
下面即可用單元測試測試程式:
package com.sea.crm.test; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; public class MybatisTest { @Test // 測試程式步驟: public void testqueryUserById() { // 1. 建立SqlSessionFactoryBuilder物件 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); // 2. 載入SqlMapConfig.xml配置檔案 InputStream in = MybatisTest.class.getResourceAsStream("/SqlMapConfig.xml"); // 3. 建立SqlSessionFactory物件 SqlSessionFactory factory = builder.build(in); // 4. 建立SqlSession物件 SqlSession sqlSession = factory.openSession(); // 5. 執行SqlSession物件執行查詢,獲取結果User Object user = sqlSession.selectOne("getUserById", 10); // 6. 列印結果 System.out.println(user); // 7. 釋放資源 sqlSession.close(); } }