01- MyBatis - 根據id查詢


MyBatis根據id查詢用戶

使用的SQL:

SELECT * FROM `user`WHERE id = 1

映射文件
在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>

MybatisTest編寫測試程序如下:

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();
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM