天天看點

010.Mybatis資料查詢

1.Mybatis資料查詢步驟

010.Mybatis資料查詢

 2.在mappers映射器下建立檔案(src/main/resources/mappers/goods.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">
<mapper namespace="goods">


    <select id="selectAll" resultType="com.imooc.mybatis.entity.Goods" >
        select *
        from t_goods
        order by goods_id desc limit 10
    </select>
    
</mapper>      

3.在mybatis-config.xml中對goods.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>

    <!-- 環境,可以配置多個,default:指定采用哪個環境 -->
    <environments default="dev">
        <!-- id:唯一辨別 -->
        <environment id="dev">
            <!--采用JDBC進行事務的管理commit/rollback-->
            <transactionManager type="JDBC"/>
            <!-- 資料源,連接配接池類型的資料源 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="197366"/>
            </dataSource>
        </environment>

    </environments>

    <!--聲明mapper的配置檔案-->
    <mappers>
        <mapper resource="mappers/goods.xml"/>
    </mappers>


</configuration>      

4.測試語句

/**
     * select查詢語句執行
     *
     * @throws Exception
     */
    @Test
    public void testSelectAll() throws Exception
    {
        SqlSession session = null;
        try
        {
            session = MyBatisUtils.openSession();
            List<Goods> list = session.selectList("goods.selectAll");//goods.selectAll       命名空間.(SQL語句的ID)
            for (Goods g : list)
            {
                System.out.println(g.getTitle());
            }
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            MyBatisUtils.closeSession(session);
        }
    }      

5.在mybatis-config.xml中開啟駝峰命名轉換 

<settings>
        <!-- goods_id ==> goodsId 駝峰命名轉換 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>      

6.CRUD标簽(select标簽)

select – 書寫查詢sql語句
select中的幾個屬性說明:
id屬性:目前名稱空間下的statement的唯一辨別。必須。要求id和mapper接口中的方法的名字一緻。
resultType:将結果集映射為java的對象類型。必須(和 resultMap 二選一)
parameterType:傳入參數類型。可以省略