mybatis学习五 多参数查询(一)

1. 编写接口多参数方法

/**
	 * 多参数查询,注意要和Employeer.xml的方法名对应
	 */
	public List<Employeer> findEmployeerByNameandDep(String employeer_name,String employeer_department);

2. 编写resultMap

<!-- 定义数据库字段与实体对象的映射关系 -->
 <resultMap type="Employeer" id="resultMap">
    <id property="employeer_id" column="employeer_id"/> 
    <result property="employeer_name" column="employeer_name"/>
    <result property="employeer_age" column="employeer_age"/>
    <result property="employeer_department" column="employeer_department"/>
    <result property="employeer_worktype" column="employeer_worktype"/>
 </resultMap>

3. 编写sql语句

<!--多参数 查找 返回list 的select 语句,注意 resultMap 的值是指向前面定义好的 -->
     <select id="findEmployeerByNameandDep"  resultMap="resultMap">
     select* from `t_employeer` where employeer_name=#{0} and employeer_department=#{1}
     </select>

因为是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始java

4. 编写查询方法

/**
	 * 多参数查询列表
	 */
	public static List<Employeer> getEmployeerList(String employeer_name,String employeer_department){
		SqlSession session = null;
		 List<Employeer> employeers=null;
		try {
			session = sqlSessionFactory.openSession(); 
			EmployeerMapper employeerMapper=session.getMapper(EmployeerMapper.class);
			 employeers = employeerMapper.findEmployeerByNameandDep(employeer_name, employeer_department);
            session.commit() ;  		
		} finally {
			session.close();
		}
		return employeers;
   
    }

5. 编写测试类

public static void main(String[] args) {   
         System.out.println("=========================使用多单参数查询===========================");
         List<Employeer> employeers1=getEmployeerList("张三","产品二部");
         for(Employeer employeer1:employeers1){
             System.out.println(employeer1);
         }
相关文章
相关标签/搜索