zoukankan      html  css  js  c++  java
  • JdbcTemplate in()传参

    1. 实体类

    复制代码
    import java.util.List;
    
    public class Param {
    
        private List<String> names;
        private List<String> depts;
        //gettes/setters略 
    
    }
    复制代码
    复制代码
    public class Employee {
    
        private Long id;
        private String name;
        private String dept;
        // getters/setters略  
    
    }
    复制代码

    2. JdbcTemplate in()传参代码

    复制代码
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.RowMapper;
    import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
    import org.springframework.stereotype.Service;
    
    @Service
    public class JdbcTempleteInParam {
    
        @Autowired
        private JdbcTemplate jdbcTemplate;
    
        /**
         * 示例
         */
        public List<Employee> getEmployees(Param param) {
            // 定义结果集
            List<Employee> result = null;
    
            // 拼接sql
            String sql = "select * from employee where 1=1 ";
    
            // 参数
            Map<String, Object> paramMap = new HashMap<String, Object>();
            if (null != param) {
                if (null != param.getNames() && param.getNames().size() > 0) {
                    sql += "and name in (:names) ";
                    paramMap.put("names", param.getNames());
                }
    
                if (null != param.getDepts() && param.getDepts().size() > 0) {
                    sql += "and dept in (:depts) ";
                    paramMap.put("depts", param.getDepts());
                }
            }
    
            // 查询
            NamedParameterJdbcTemplate jdbc = new NamedParameterJdbcTemplate(jdbcTemplate);
            result = jdbc.query(sql, paramMap, new RowMapper<Employee>() {
                @Override
                public Employee mapRow(ResultSet rs, int index) throws SQLException {
                    Employee emp = new Employee();
                    emp.setId(rs.getLong("id"));
                    emp.setName(rs.getString("name"));
                    emp.setDept(rs.getString("dept"));
                    return emp;
                }
            });
    
            // 返回查询结果
            return result;
        }
    
    }
    复制代码
  • 相关阅读:
    java例程练习(多态/动态绑定/迟绑定)
    java例程练习(对象转型及instanceof关键字)
    java例程练习(对象类型数据的排序)
    java例程练习(数三退一[用数组模拟])
    SSL协议与数字证书原理
    SSL和数字证书服务慨述(3)
    数字证书介绍
    SSL和数字证书服务慨述(1)
    SSL和数字证书服务慨述(2)
    如何设置word页脚中的总页码
  • 原文地址:https://www.cnblogs.com/wang-yaz/p/10946607.html
Copyright © 2011-2022 走看看