package com.book.dao;

import com.book.domain.ReaderCard;
import com.book.domain.ReaderInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.stereotype.Repository;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

@Repository
public class ReaderCardDao {

    private JdbcTemplate jdbcTemplate;
    //根据用户查询的SQL语句
    private final static String MATCH_COUNT_SQL="select count(*) from reader_card where reader_id = ? and passwd = ? ";
    private final static String FIND_READER_BY_USERID="select reader_id, name, passwd, card_state from reader_card where reader_id = ? ";
    private final static String RE_PASSWORD_SQL="UPDATE reader_card set passwd = ? where reader_id = ? ";
    private final static String ADD_READERCARD_SQL="INSERT INTO reader_card (reader_id,name) values ( ? , ?)";
    private final static String UPDATE_READER_NAME_SQL="UPDATE reader_card set name = ? where reader_id = ?";


    @Autowired
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public int getMatchCount(int readerId,String passwd){
        return jdbcTemplate.queryForObject(MATCH_COUNT_SQL,new Object[]{readerId,passwd},Integer.class);
    }

    public ReaderCard findReaderByReaderId(int userId){
        final ReaderCard readerCard=new ReaderCard();
        jdbcTemplate.query(FIND_READER_BY_USERID, new Object[]{userId},
                //匿名类实现的回调函数
                new RowCallbackHandler() {
                    public void processRow(ResultSet resultSet) throws SQLException {
                        readerCard.setReaderId(resultSet.getInt("reader_id"));
                        readerCard.setPasswd(resultSet.getString("passwd"));
                        readerCard.setName(resultSet.getString("name"));
                        readerCard.setCardState(resultSet.getInt("card_state"));
                    }
                });
        return readerCard;
    }

    public int rePassword(int readerId,String newPasswd){
        return jdbcTemplate.update(RE_PASSWORD_SQL,new Object[]{newPasswd,readerId});
    }

    public int addReaderCard(ReaderInfo readerInfo){

        String name=readerInfo.getName();
        int readerId=readerInfo.getReaderId();

        return jdbcTemplate.update(ADD_READERCARD_SQL,new Object[]{readerId,name});
    }

    public int updateName(int readerId,String name){
        return jdbcTemplate.update(UPDATE_READER_NAME_SQL,new Object[]{name,readerId,});
    }
}
最近下载更多
1587039373  LV3 1月4日
小白jmhuang  LV12 2023年12月6日
低调人  LV38 2022年12月16日
嗯啊哈尔滨西湖  LV1 2022年12月15日
微信网友_6248713511227392  LV11 2022年12月5日
1803466516  LV4 2022年7月9日
Simon_ydl  LV5 2022年5月23日
2678465764  LV1 2022年5月6日
97987179  LV1 2022年4月9日
742773198  LV2 2022年3月18日
最近浏览更多
bluerstar  LV1 10月23日
zhengguangshun  LV4 8月25日
shuiyan  LV1 6月1日
寄此123456  LV1 4月30日
akittyboy  LV9 4月16日
LisboyR 4月11日
暂无贡献等级
暂无贡献等级
 LV7 3月29日
1437047954 3月7日
暂无贡献等级
jhyan127 2月18日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友