淺談Mabatis里的


<mapper>是<mappers>子標簽

我們平常在做數據庫操作的時候先要獲取到sqlSession對象

String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        System.out.println(sqlSessionFactory);
        SqlSession sqlSession=sqlSessionFactory.openSession();

sqlSession操作數據有幾種方法

①sqlSession.selectOne("String",Object)(這里就舉一個select的例子)

User user=sqlSession.selectOne("dao.UserMapper.selectUserById", 2);

這里的dao.UserMapper.selectUserById就是mapper.xml中的 namespace+id(唯一標志符)

這個時候就與dao層沒有多大關系,因為直接調用xml文件。

 

②sqlSession.getMapper()方法

UserMapper userMapper=sqlSession.getMapper(dao.UserMapper.class);  //創建出userMapper的代理對象

這里創建出UserMapper的代理對象,但是並不知道操作數據庫的語言。

所以就要進行動態綁定

方法一:

就是將xml文件里<mapper namespace=" UserMapper的全類名"> 

<mapper namespace="dao.UserMapper">
    <select id="selectUserById" resultType="bean.User">  //這里的id是和Usermapper的方法名一樣
        select * from user where id=#{id}
    </select>
</mapper>

 

 

 

 

③注解的方式

在Dao層里的UserMapper接口上面用注解方式開發,但是<mapper 必須使用class=“xxx”>

public interface UserMapperAnnotion {
    @Select("select * from user where id=#{id}")
    public User getUserById(int id);
}

 

<mapper 一共有三種引用的方式>

①:<mapper source=" ">  :這種引用方式是引用類路徑下的引用xml文件

②:<mapper url=" "> :這種方式是使用絕對路徑或者是磁盤路徑,引用xml文件

③:<mapper class=" "> :這種方式是用來引用“接口”的文件,使用的時候切記將mapper.xml文件和mapper文件放在同一個包下面(猜測是會通過某種方式尋找到同名的xml文件,從而讀取sql語句)

 


免責聲明!

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



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