MyBatis有哪几种运行SQL的方式呢?
MyBatis运行SQL语句的两种方式
方式1:采用SqlSession 发送SQL方式2:采用SqlSession 获取Mapper接口,使用Mapper接口发送SQL
SqlSession发送SQL
当我们创建映射器后,则可使用SqlSession 发送 SQL下文将使用getUserinfo,讲述发送sql的方法
UserInfo userInfo = (UserInfo)sqlSession.selectOne("com.java265.mapper.UserInfoMapper.getUserInfo",1);
MyBatis 常用的查询方法有 2 种,分别为 selectOne 和 selectlist
1.selectOne
selectOne方法:使查询只返回一个对象,必须指定查询条件只能查询 0 或 1 条记录,大于 1 条记录则运行错误
常用格式如下所示:
sqlSession.selectOne(String arg0, Object arg1)
2.selectList
selectList 方法表示使用查询并且返回一个列表可以返回0 或 N 条记录
常用格式如下:
sqlSession.selectOne(String arg0)
也可指定参数:
sqlSession.selectList(String arg0, Object arg1)
以上语法格式中
String 对象由一个命名空间加 SQL id 组合而成,
它可定位到一条SQL,
此时MyBatis就会找到对应的 SQL
Object 对象:
为需要传递的参数,也就是查询条件
例: UserInfo UserInfo = (UserInfo )sqlSession.selectOne("getUserInfo",1);
Mapper接口发送 SQL
SqlSession 还可以获取 Mapper 接口,通过 Mapper 接口发送 SQL,如下所示。
UserInfoMapper UserInfoMapper = sqlSession.getMapper(UserInfoMapper.class);
UserInfo UserInfo = UserInfoMapper.getUserInfo(1);
通过 SqlSession 的 getMapper 方法获取一个Mapper接口,然后就可以调用它的方法了
因为 XML 文件或者接口注解定义的 SQL 都可以通过“类的全限定名+方法名”查找,所以 MyBatis 会启用对应的 SQL 运行,并返回结果
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。