List selectBooksLike1(@Param("bname") String bname); List selectBooksLike2(@Param("bname") String bname); List selectBooksLike3(@Param("bname") String bname);
BookServiceImpl
@Override
public List selectBooksLike1(String bname) {
return bookMapper.selectBooksLike1(bname);
}
@Override
public List selectBooksLike2(String bname) {
return bookMapper.selectBooksLike2(bname);
}
@Override
public List selectBooksLike3(String bname) {
return bookMapper.selectBooksLike3(bname);
}
BookServiceImplTest
@org.junit.Test
public void selectBooksLike1() {
System.out.println("mybatis中的模糊查询#与$的区别");
List books=this.bookService.selectBooksLike1("%斗破%");
books.forEach(System.out::println);
}
@org.junit.Test
public void selectBooksLike2() {
System.out.println("mybatis中的模糊查询#与$的区别");
List books=this.bookService.selectBooksLike2("%斗破%");
books.forEach(System.out::println);
}@org.junit.Test
public void selectBooksLike3() {
System.out.println("mybatis中的模糊查询#与$的区别");
List books=this.bookService.selectBooksLike3("斗破");
books.forEach(System.out::println);
}
运行结果
三、查询返回结果集的处理
resultMap:适合使用返回值是自定义实体类的情况
resultType:适合使用返回值的数据类型是非自定义的,即jdk的提供的类型
3.1 使用resultMap返回自定义类型集合
3.2 使用resultType返回List
3.3 使用resultType返回单个对象
3.4 使用resultType返回List
3.5 使用resultType返回Map,适用于多表查询返回单个结果集
select * from t_mvc_book
select * from t_mvc_book
select * from t_mvc_book where bid in
#{bid}
select * from t_mvc_book
select * from t_mvc_book where bid = #{bid}
vo.BookVo
package com.lxy.vo;
import com.lxy.model.Book;
import java.util.List;
public class BookVo extends Book {
private List bookIds;
public List getBookIds() {
return bookIds;
}
public void setBookIds(List bookIds) {
this.bookIds = bookIds;
}
}
Bookservice/BookMapper
List list1();
List list2();
Book list3(BookVo bookVo);
List
BookServiceImpl
@Override
public List list1() {
return bookMapper.list1();
}
@Override
public List list2() {
return bookMapper.list2();
}
@Override
public Book list3(BookVo bookVo) {
return bookMapper.list3(bookVo);
}
@Override
public List
BookServiceImplTest
结论1:resultMap多表查询会用,resultType单表查询
结论2:List>单表,List
@Test
public void list1() {
System.out.println("五种返回类型配置");
List books=this.bookService.list1();
books.forEach(System.out::println);
}
@Test
public void list2() {
System.out.println("五种返回listbook对象");
List books=this.bookService.list2();
books.forEach(System.out::println);
}
@Test
public void list3() {
System.out.println("五种返回类型配置之返回单个对象");
BookVo bookVo=new BookVo();
bookVo.setBookIds(Arrays.asList(new Integer[]{28}));
this.bookService.list3(bookVo);
}
@Test
public void list4() {
System.out.println("五种返回类型配置之返回listMap对象");
List
select * from t_mvc_book
price ]]>
select * from t_mvc_book
and #{min} < price
and #{max} > price
BookVo
BookService/BookMapper
List list6(BookVo bookVo);
List list7(BookVo bookVo);
}
BookServiceimpl
@Override
public List list6(BookVo bookVo) {
return bookMapper.list6(bookVo);
}
@Override
public List list7(BookVo bookVo) {
return bookMapper.list7(bookVo);
}
BookServiceImplTest
@Test
public void list6() {
System.out.println("五种返回listbook对象");
BookVo bookVo=new BookVo();
bookVo.setMin(20);
bookVo.setMax(40);
List books=this.bookService.list6(bookVo);
books.forEach(System.out::println);
}
@Test
public void list7() {
System.out.println("五种返回listbook对象");
BookVo bookVo=new BookVo();
bookVo.setMin(20);
bookVo.setMax(40);
List books=this.bookService.list7(bookVo);
books.forEach(System.out::println);
}