Mybatis學習_2_根據id查詢使用者demo
阿新 • • 發佈:2018-12-13
對映檔案:
在user.xml中新增select標籤,編寫sql:
<?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"> <!-- id:statement的id 或者叫做sql的id--> <!-- parameterType:宣告輸入引數的型別 --> <!-- resultType:宣告輸出結果的型別,應該填寫pojo的全路徑 --> <!-- #{}:輸入引數的佔位符,相當於jdbc的? --> <select id="queryUserById" parameterType="int" resultType="cn.itcast.mybatis.pojo.User"> SELECT * FROM `user` WHERE id = #{id} </select> </mapper>
測試程式步驟:
1. 建立SqlSessionFactoryBuilder物件
2. 載入SqlMapConfig.xml配置檔案
3. 建立SqlSessionFactory物件
4. 建立SqlSession物件
5. 執行SqlSession物件執行查詢,獲取結果User
6. 列印結果
7. 釋放資源
public class MybatisTest { private SqlSessionFactory sqlSessionFactory = null; @Before public void init() throws Exception { // 1. 建立SqlSessionFactoryBuilder物件 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); // 2. 載入SqlMapConfig.xml配置檔案 InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); // 3. 建立SqlSessionFactory物件 this.sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); } @Test public void testQueryUserById() throws Exception { // 4. 建立SqlSession物件 SqlSession sqlSession = sqlSessionFactory.openSession(); // 5. 執行SqlSession物件執行查詢,獲取結果User // 第一個引數是User.xml的statement的id,第二個引數是執行sql需要的引數; Object user = sqlSession.selectOne("queryUserById", 1); // 6. 列印結果 System.out.println(user); // 7. 釋放資源 sqlSession.close(); } }
測試結果如下圖