(一)接口式编程与非接口式编程的区别
1.namespace的命名方式:
(1)非接口式编程:命名比较随意
<mapper namespace="Command">
(2)接口式编程:必须是Mapper文件对应接口的全限定名,比如:
<mapper namespace="com.imooc.dao.ICommand">
2.调用sql语句的方式
(1)非接口式编程:
SqlSession sqlSession = DBAccess.getSqlSession();
/**
* 注意,Mybatis中只能传递一个参数,所以当有多个参数时,需要封装成一个对象来传递
*/
Command commandObject = new Command();
commandObject.setCommand(command);
commandObject.setDescription(description);
//调用方式为(“namespace.id”, 参数)形式
List<Command> commands = sqlSession.selectList("Command.queryCommandList", commandObject);
(2)接口式编程:
//现获取接口
ICommand iCommand = sqlSession.getMapper(ICommand.class);
//再传参调用sql语句
List<Command> commands = iCommand.queryCommandList(commandObject);