mybatis中的多条件查询

使用Map集合和索引号

接口:

/** * 多条件查询Map集合 * @param map * @return */public List<Student> findByManyCondition(Map<String,Object> map);

/** * 多参数查询使用索引 * @param name * @param age * @return */public List<Student> findStudentByCondition(String name,int age);

xml文件(小配置)
<!--多条件查询Map集合--><select id="findByManyCondition" resultType="student">   SELECT  *from Student WHERE  name LIKE ‘%‘ #{name } ‘%‘ AND age>#{age}</select>

<!--多参数查询使用索引--><select id="findStudentByCondition" resultType="student">    SELECT  *from Student WHERE  name LIKE ‘%‘ #{0} ‘%‘ AND age>#{1}</select>

测试类
/** * 多条件查询Map集合 */@Testpublic  void findByManyCondition(){    SqlSession session = MyBatisUtil.getSession();    IStudentDAO mapper = session.getMapper(IStudentDAO.class);   Map<String,Object>  map=new HashMap<String,Object>();    map.put("name","张");    map.put("age",20);    List<Student> list = mapper.findByManyCondition(map);    for (Student item:list){        System.out.println(item.getName());    }    session.commit();    session.close();}
/** * 多条件查询使用索引号 */@Testpublic  void findStudentByCondition(){    SqlSession session = MyBatisUtil.getSession();    IStudentDAO mapper = session.getMapper(IStudentDAO.class);    List<Student> list = mapper.findStudentByCondition("张", 20);    for (Student item:list){        System.out.println(item.getName());    }    session.commit();    session.close();}
				
时间: 2024-10-09 07:37:22

mybatis中的多条件查询的相关文章

mybatis中的关联对象查询

方式1(嵌套查询): 在本类的mapper映射配置文件中的ResultMap标签中使用association子标签,对关联对象的属性进行关联 例如:User中关联Department(多对一) ----------User的mapper映射配置文件---------<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Map

使用mybatis框架实现带条件查询-多条件

在实际的项目开发中,使用mybatis框架查询的时候,不可能是只有一个条件的,大部分情况下是有多个条件的,那么多个条件应该怎样传入参数: 思考:  需求:根据用户姓名(模糊查询),和用户角色对用户表进行查询 UserMapper.xml 1 <!-- 按照名称查询,用户角色,查询用户列表 mybatis给最基础的数据类型都内建了别名,对大小写是不敏感的--> 2 <select id="getUserListByUserName2" parameterType=&qu

php中的多条件查询

首先是查询所有,步骤不详述,连接数据库,查询表中的所有信息,foreach循环以表格的形式打印出来 然后就是form表单中提交查询的数据,这里以post方式提交到本页面,所以要判断post中是否有值,在判断post中的值是否为空字符串(这两种情况都默认用户没有输入,查询所有)默认规则:一般来说做查询的时候:用户不输入任何内容就是查询所有的 然后最重要的是拼接查询条件 关键代码: $tj1 = " 1=1"; $tj2 = " 1=1"; $name = "

使用mybatis框架实现带条件查询-多条件(传入Map集合)

我们发现我们可以通过传入javaBean的方式实现我们的需求,但是就两个条件,思考:现在就给他传入一个实体类,对系统性能的开销是不是有点大了. 现在改用传入Map集合的方式: 奥!对了,在创建map集合时候,居然报错了,The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class. 是因为myeclipse的jdk和你安装的jdk的版本不一致导致的,只要将两者调成

thinkphp 中where 多条件查询

今天做一个数据的查询 $products=M('products'); $prodName=isset($_POST['prodName'])?I('post.prodName'):''; $products->join('left join prods on prods.prodId = products.prodId') ->limit ( $page->firstRow . ',' . $page->listRows ) ->where('proTypeId='.$pr

List&lt;Map&lt;String, Object&gt; 中多个条件查询

在项目中,我们都尽量通过各层之间松耦合来降低故障的传递性,使各层除了部分业务有关联性之外,程序运行互不干扰.这时,页面应用和数据库之间的无直接联系的,而是通过后台应用的接口来获取数据,即在结构为List<Map<String, Object> 查询数据,又不想是满屏的if else语句,所以找一个比较好的实现方法,这里记录下. 1 List<Map<String,Object>> resultList=new ArrayList<>(); 2 3 fo

Mybatis中的like模糊查询

1.  参数中直接加入%% param.setUsername("%CD%");      param.setPassword("%11%"); <select id="selectPersons" resultType="person" parameterType="person"> select id,sex,age,username,password from person where t

MyBatis中使用RowBounds对查询结果集进行分页

MyBatis可以使用RowBounds逐页加载表数据.RowBounds对象可以使用offset和limit参数来构建.参数offset表示开始位置,而limit表示要取的记录的数目 映射文件: <select id="findAllUsers" resultType="User"> select id,name,gender from t_user </select> 映射接口中: public List<User> find

.net在Oracle数据库中为In条件查询防止sql注入参数化处理

//返回in条件处理方法 public static string InsertParameters(ref List<OracleParameter> orclParameters, int[] lsIds, string uniqueParName) { string strParametros = string.Empty; for (int i = 0; i <= lsIds.Length - 1; i++) { strParametros += i == 0 ? ":