Service如下:
package net.sonng.service; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import net.sonng.dao.BookDao; import net.sonng.entity.Book; import org.springframework.stereotype.Service; @Service public class TestService { @Resource private BookDao bookDao; public List<Book> multipSearch(String name,String press,String douban,String isbn){ Map<String,String> map=new HashMap(); if (name!=null && !name.equals("")) { map.put("name", "%"+name+"%"); } if (press!=null && !press.equals("")) { map.put("press","%"+press+"%"); } if (douban!=null && !douban.equals("")){ map.put("douban", douban); } if (isbn!=null && !isbn.equals("")) { map.put("isbn", isbn); } return bookDao.multipSearch(map); } }
测试类如下:
package net.sonng.test; import java.util.List; import net.sonng.controller.TestController; import net.sonng.entity.Book; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args){ ApplicationContext ac=new ClassPathXmlApplicationContext("ac.xml"); TestController tc=ac.getBean("testController",TestController.class);//下面的4种查询语句,都可以一条动态SQL执行 //List<Book> books=tc.multipSearch("Java", "", "", ""); //查询到4条 //List<Book> books=tc.multipSearch("Java", "机械", "", ""); //3条 //List<Book> books=tc.multipSearch("Java", "机械", "8", ""); //2条 List<Book> books=tc.multipSearch("Java" ,"机械", "8", "9787111213826");//1条 for (Book book:books){ System.out.println(book.getId()); System.out.println(book.getName()); System.out.println(book.getIsbn()); System.out.println(book.getAuthor()); System.out.println(book.getPress()); System.out.println(book.getDouban()); System.out.println("----------------------------------"); } } }
以上所述是小编给大家介绍的史上最简单的MyBatis动态SQL入门示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
更多SQL内容来自木庄网络博客