Mybatis执行SQL的方式
-
通过
SqlSession
发送SQL
-
通过
SqlSession
获取Mapper
接口,通过Mapper
接口发送SQL
SqlSession发送SQL
使用SqlSession
发送SQL
的方式:
-
selectOne
-
selectList
这两个方法都需要对返回值类型进行转型:
Website website = (Website) sqlSession.selectOne("com.junkingboy.mapper.WebsiteMapper.getWebsite", 1);
selectOne
方法返回一个对象,需指定查询条件,只能查询0或1。结果集大于1则运行错误。
sqlSession.selectOne(String arg(), Object arg1);
selectList
方法返回一个列表,可查询0或N条记录。
不带参:
sqlSession.selectOne(String agr());
带指定参:
sqlSession.selectList(String agr(), Object arg1);
说明:
-
com.junkingboy.mapper.WebsiteMapper.getWebsite
是指在mybatis
当中有一个id
为getWebsite
的SQL
(前面的是路径) -
1
表示结果集数量只有1
个
Mapper接口发送SQL
示例:
/*SqlSession 的 getMapper 方法获取一个 Mapper 接口,然后调用它的方法*/
WebsiteMapper wm = ss.getMapper(WebsiteMapper.class);
/*调用接口当中定义的方法*/
List<Website> websiteList = wm.selectAllWebsite();
/*
XML 文件或者接口注解定义的 SQL 都可以通过“类的全限定名+方法名”查找
MyBatis 会启用对应的 SQL 运行,并返回结果。
*/