mybatis多查询

来源:互联网 发布:闪电VPN软件怎么样 编辑:程序博客网 时间:2024/05/31 13:16

1.使用map

Javabean

package com.cbh.beans;public class Student {private int id ;private int age;private String name;private double score;public Student() {}public Student(String name,int age,double score){super();this.age=age;this.name =name;this.score=score;}public int getId() {return id;}public void setId(int id) {this.id = id;}@Overridepublic String toString() {return "Student [id=" + id + ", age=" + age + ", name=" + name + ", score="+ score + "]";}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}}

dao:

package com.cbh.dao;import java.util.List;import java.util.Map;import com.cbh.beans.Student;public interface IStudent {List<Student> selectStudentsByCondition(Map<String,Object> map);}
mapper.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cbh.dao.IStudent"><select id="selectStudentsByCondition" resultType="Student">select id,name,age,score from student1 where name like '%' #{nameCon} '%' and age>#{ageCon} and score>#{scoreCon}</select></mapper>

测试类

package com.cbh.test;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.junit.Before;import org.junit.Test;import com.cbh.Utils.MybatisUtils;import com.cbh.beans.Student;import com.cbh.dao.IStudent;public class mytest {private IStudent dao;@Beforepublic void before() {SqlSession sqlSession=MybatisUtils.getSqlSession();dao =sqlSession.getMapper(IStudent.class) ;}
@After
public void after(){
if(sqlsession!=null){
sqlsession.close();
}}@Testpublic void test8(){Map<String ,Object>map=new HashMap<String,Object>();map.put("nameCon", "大");map.put("ageCon", 23);map.put("scoreCon",99);List<Student> student=dao.selectStudentsByCondition(map);for (Student student2 : student) {System.out.println(student2);}}  }

使用索引号:

dao:

package com.cbh.dao;import java.util.List;import com.cbh.beans.Student;public interface IStudent {List<Student>selectStudentsByCondition(String name,int age,int score);}
 测试类:
package com.cbh.test;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.junit.Before;import org.junit.Test;import com.cbh.Utils.MybatisUtils;import com.cbh.beans.Student;import com.cbh.dao.IStudent;public class mytest {private IStudent dao;@Beforepublic void before() {SqlSession sqlSession=MybatisUtils.getSqlSession();dao =sqlSession.getMapper(IStudent.class) ;}@Afterpublic void after(){if(sqlsession!=null){sqlsession.close();}}@Testpublic void test8(){List<Student> student=dao.selectStudentsByCondition("大", 24, 96);for (Student student2 : student) {System.out.println(student2);}} }


mapper:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cbh.dao.IStudent"><select id="selectStudentsByCondition" resultType="Student">select id,name,age,score from student1 where name like '%' #{0} '%'and age>#{1} and score>#{2}</select> <!-- #{}中可以放入的内容1.参数对象的属性2.随意的内容,此时#{}是个占位符3.参数为map时的key4.参数为map时,若key所对应的value为对象,则可以将该对象的属性放入5.参数的索引号(本次就是参数的索引号) --></mapper>






                                             
1 0
原创粉丝点击