zoukankan      html  css  js  c++  java
  • (七)剩余DAO代码

    AccountDAO.java

    package com.aff.bookstore.dao;
    import com.aff.bookstore.domain.Account;
    public interface AccountDAO {
    
        /**
         * 根据 accountId 获取对应的 Account 对象
         * @param accountId
         * @return
         */
        public abstract Account get(Integer accountId);
    
        /**
         * 根据传入的 accountId, amount 更新指定账户的余额: 扣除 amount 指定的钱数
         * @param accountId
         * @param amount
         */
        public abstract void updateBalance(Integer accountId, float amount);
    
    }

    AccountDAOImpl.java

    package com.aff.bookstore.dao.impl;
    
    import com.aff.bookstore.dao.AccountDAO;
    import com.aff.bookstore.domain.Account;
    
    public class AccountDAOImpl extends BaseDAO<Account> implements AccountDAO {
    
        @Override
        public Account get(Integer accountId) {
            String sql = "select accountId,balance from account where  accountId = ?";
            return query(sql, accountId);
    
        }
    
        @Override
        public void updateBalance(Integer accountId, float amount) {
            String sql = "update account  set balance = balance - ? where  accountId = ?";
            update(sql, amount, accountId);
        }
    
    }

    TradeDAO.java

    package com.aff.bookstore.dao;
    import java.util.Set;
    import com.aff.bookstore.domain.Trade;
    public interface TradeDAO { /** * 向数据表中插入 Trade 对象 * @param trade */ public abstract void insert(Trade trade); /** * 根据 userId 获取和其关联的 Trade 的集合 * @param userId * @return */ public abstract Set<Trade> getTradesWithUserId(Integer userId); }

    TradeDAOImpl.java

    package com.aff.bookstore.dao.impl;
    import java.util.HashSet;
    import java.util.Set;
    import com.aff.bookstore.dao.TradeDAO;
    import com.aff.bookstore.domain.Trade;
    
    public class TradeDAOImpl extends BaseDAO<Trade> implements TradeDAO {
    
        @Override
        public void insert(Trade trade) {
            String sql = "insert into trade(userid,tradetime)  values(?,?)";
            update(sql, trade.getUserId(),trade.getTradeTime());
        }
    
        @Override
        public Set<Trade> getTradesWithUserId(Integer userId) {
            String sql = "select  tradeId,userId, tradeTime from trade where userId = ?";
            return new HashSet<>(queryForList(sql, userId));
        }
    
    }

    TradeItemDAO.java

    package com.aff.bookstore.dao;
    import java.util.Collection;
    import java.util.Set;
    import com.aff.bookstore.domain.TradeItem;
    
    public interface TradeItemDAO {
    
        /**
         * 批量保存 TradeItem 对象
         * @param items
         */
        public abstract void batchSave(Collection<TradeItem> items);
    
        /**
         * 根据 tradeId 获取和其关联的 TradeItem 的集合
         * @param tradeId
         * @return
         */
        public abstract Set<TradeItem> getTradeItemsWithTradeId(Integer tradeId);
    
    }

    TradeItemDAOImpl.java

    package com.aff.bookstore.dao.impl;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import com.aff.bookstore.dao.TradeItemDAO;
    import com.aff.bookstore.domain.TradeItem;
    
    public class TradeItemDAOImpl extends BaseDAO<TradeItem> implements TradeItemDAO {
    
        @Override
        public void batchSave(Collection<TradeItem> items) {
            String sql = "insert into tradeitem(bookid, quantity,tradeid) values(?,?,?)";
            Object[][] params = new Object[items.size()][3];
    
            List<TradeItem> tradeItems = new ArrayList<TradeItem>(items);
            for (int i = 0; i < tradeItems.size(); i++) {
                params[i][0] = tradeItems.get(i).getBookId();
                params[i][1] = tradeItems.get(i).getQuantity();
                params[i][2] = tradeItems.get(i).getTradeId();
    
            }
            batch(sql, params);
        }
    
        @Override
        public Set<TradeItem> getTradeItemsWithTradeId(Integer tradeId) {
            String sql = "select  itemId tradeItemId, bookId,quantity,tradeId from  tradeitem where tradeid = ?";
            return new HashSet<>(queryForList(sql, tradeId));
        }
    
    }

    All that work will definitely pay off
  • 相关阅读:
    OnWndMsg处理功能
    SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题
    【Shell剧本练习】得出的结论是当前用户
    C++指针和引用简介
    HDU 3126 Nova [2009 Asia Wuhan Regional Contest Online]
    工作过程的编译器
    ubuntu selinux
    Maven创建工程 WEB
    Weblogic集群
    Dubbo
  • 原文地址:https://www.cnblogs.com/afangfang/p/12922970.html
Copyright © 2011-2022 走看看