时间:2021-07-01 10:21:17 帮助过:21人阅读
映射接口:
public interface DynamicSqlMapper{ List<Course> searchCourses(Map<String, Object> map); }
测试方法:
@Test public void test_searchCourses1(){ SqlSession sqlSession = null; try { sqlSession = MyBatisSqlSessionFactory.openSession(); DynamicSqlMapper mapper = sqlSession.getMapper(DynamicSqlMapper.class); Map<String,Object> map = new HashMap<String,Object>(); map.put("tutorId", 1); map.put("courseName", "%Java%"); List<Course> courses = mapper.searchCourses(map); courses.forEach(System.out::println); } catch (Exception e) { e.printStackTrace(); } }
同时MyBatis还提供了另外一种传递多个输入参数给映射语句的方法。
例如我们想通过给定的name和email信息查找学生信息,定义查询接口如下:
对于映射器中的方法,MyBatis默认从左到右给方法的参数命名为param1、param2…,依次类推。
public interface StudentMapper{ List<Student> findAllStudentsByNameEmail(String name, String email); }
MyBatis支持将多个输入参数传递给映射语句,并以#{param}的语法形式引用它们:
<select id="findAllStudentsByNameEmail" resultMap="StudentResult"> select stud_id, name,email, phone from Students where name=#{param1} and email=#{param2} </select>
这里#{param1}引用第一个参数name,而#{param2}引用了第二个参数email。
mybatis-sql语句传参
标签:int actor 参数传递 接口 span 入参 one 测试方法 类型