zoukankan      html  css  js  c++  java
  • springboot jdbctemplate 常用的语法

    1.新增数据 返回自增主键ID

    public int add(Map<String,Object> paramMap) {
        long nowTime = System.currentTimeMillis(); // 当前时间
        String sql = "insert into " + tableName + " (device_no,device_key,device_type,channel_type_id,phone_type,is_attent,serial_no,member_id,sub_member_id,cashier_id,update_time,c_date,state,source_id,ios_type) " +
                "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        KeyHolder keyHolder = new GeneratedKeyHolder();
        jdbcTemplateNotify.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
                PreparedStatement preparedStatement = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
                preparedStatement.setString(1, ComMapUtils.getString(paramMap,"deviceNo"));
                preparedStatement.setString(2, ComMapUtils.getString(paramMap,"deviceKey"));
                preparedStatement.setString(3, ComMapUtils.getString(paramMap,"deviceType"));
                preparedStatement.setInt(4, ComMapUtils.getInteger(paramMap,"channelTypeId"));
                preparedStatement.setInt(5, ComMapUtils.getInteger(paramMap,"phoneType"));
                preparedStatement.setInt(6, ComMapUtils.getInteger(paramMap,"isAttent"));
                preparedStatement.setInt(7, ComMapUtils.getInteger(paramMap,"serialNo"));
                preparedStatement.setInt(8, ComMapUtils.getInteger(paramMap,"memberId"));
                preparedStatement.setInt(9, ComMapUtils.getInteger(paramMap,"subMemberId"));
                preparedStatement.setInt(10, ComMapUtils.getInteger(paramMap,"cashierId"));
                preparedStatement.setLong(11, nowTime);
                preparedStatement.setLong(12, nowTime);
                preparedStatement.setInt(13, ComMapUtils.getInteger(paramMap,"state"));
                preparedStatement.setInt(14, ComMapUtils.getInteger(paramMap,"sourcId"));
                preparedStatement.setInt(15, ComMapUtils.getInteger(paramMap,"iosType"));
                return preparedStatement;
            }
        }, keyHolder);
        int id = keyHolder.getKey().intValue();
        return id;
    }

    在这里为什么使用 con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 请查看https://www.cnblogs.com/gwq369/p/5438224.html

    2.查询List<
    Map<String, Object>>

    public List<Map<String, Object>> queryDevices(Integer memberId, String deviceType) {
            String sql = "select * from " + tableName + " where member_id=" + memberId + " and device_type='" + deviceType + "' and state=1 order by device_id desc limit 1";
            List<Map<String, Object>> list = jdbcTemplateNotify.queryForList(sql);
            return list;
    }

    查询条件是字符串的话需要加上 ' '

    3.修改

    public int updateTuiSongSet(int tuisongSetId, String tuisongFlag, String tuisongType, int parentMemberId, String parentPayFlag) {
        StringJoiner joiner = new StringJoiner(",", "update " + tableName + " set", " where tuisong_set_id=" + tuisongSetId);
        if (!tuisongFlag.isEmpty()) {
            joiner.add(" tuisong_flag=" + tuisongFlag);
        }
        if (!tuisongType.isEmpty()) {
            joiner.add(" tuisong_type='" + tuisongType + "'");
        }
        if (parentMemberId > 0) {
            joiner.add(" parent_member_id=" + parentMemberId);
        }
        if (!parentPayFlag.isEmpty()) {
            joiner.add(" parent_pay_flag=" + parentPayFlag);
        }
        int update = jdbcTemplateNotify.update(joiner.toString());
        return update;
    }

     使用 StringJoiner 进行拼接查询条件




  • 相关阅读:
    php的date对象与javascript的Date对象区别
    window.open的popup-only-once问题(document.cookie)
    window.open详解
    顶级窗口问题window.top
    javascript中的this用法
    问题1:javascript的函数对象问题
    javascript中this的用法
    javacsript:在函数内访问全局变量
    bzoj1934
    bzoj1433
  • 原文地址:https://www.cnblogs.com/gjq1126-web/p/13959029.html
Copyright © 2011-2022 走看看