mybatis高階應用(一):使用maaper介面開發
1.介面開發
1)規則:
1)介面名稱必須和mapper檔名稱相同
2)介面包路徑和名稱空間一致(介面檔案和mapper檔案在一起)
3)介面中要宣告的方法名和某個sql配置的id屬性一致
4)引數和返回值,要按java規則寫
例項:
XXXmapper.xml檔案中:
<select id="findByAll" resultMap="personRM">select pid as id, name ,age from person
</select> 所對應的XXXmapper.class中:
/**
* 查詢所有記錄 select id = "findByAll" resultMap="personRM">
* 其中
* id與方法名對應,返回型別則與方法的返回型別的元素一致
*
* @return
*/
public List<Person> findByAll();
面向物件的開發方式:
private SqlSessionFactory sqlSessionFactory;
@Before // 最先執行,初始化sqlsessionfactory
public void init() throws IOException {
InputStream input = Resources.getResourceAsStream("sqlMapConfig.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(input);
}
/**
* 查詢所有記錄
*/
@Test
public void findByAll() {
SqlSession sqlsession = sqlSessionFactory.openSession();
// 獲取相應的mapperinterface檔案
PersonMapper personMapper = sqlsession.getMapper(PersonMapper.class);
// 執行 PersonMapper介面中的方法
List<Person> lis = personMapper.findByAll();
for (Person p : lis) {
System.out.println(p.toString());
}
}