研究了:public static NameCardListModel getNameCardListBySort(byte listType, byte pageSize, byte onPage, int userId)
{
Connection conn = null;
PreparedStatement pstm = null;
NameCardListModel nameCardListModel = new NameCardListModel();
nameCardListModel.setType(listType);
List<NameCard> nameCardList = new ArrayList<NameCard>();
try
{
conn = DBServiceImpl.getInstance().getConnection();
pstm = conn.prepareStatement(SELECT_NAME_CARD, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
pstm.setInt(1, userId);
pstm.setInt(2, listType);
ResultSet rs = pstm.executeQuery();
int Total = 0; // 记录的总数;
int pageCount = 0; // 记录的总页数;
rs.last(); // 移到最后一条记录;
Total = rs.getRow(); // 记录的总数;
if (Total % pageSize == 0) // 计算出总的页数PageCount;
{
pageCount = Total / pageSize;
}
else
{
pageCount = Total / pageSize + 1;
}
if (onPage > pageCount)
{
onPage = (byte)pageCount;
}
int startNum = (onPage - 1) * pageSize +1;// 开始记录
if(onPage==0)
{
startNum=0;
}
int endNum=0;
if(onPage==pageCount)
{
endNum = startNum+(Total-startNum);
}
else
{
endNum=startNum+pageSize-1;
}
nameCardListModel.setStartNum(startNum);
nameCardListModel.setTotal(pageCount);
if (onPage == 1)
rs.beforeFirst();// 移到第0行
else
rs.absolute(startNum-1);// 指定指针的位置;
for (int i = 0; i < pageSize; i++)
{
if (rs.next())
{
NameCard nameCard = new NameCard();
nameCard.setCard_id(rs.getInt("card_id"));
nameCard.setCard_owner_id(rs.getInt("card_owner_id"));
nameCard.setUser_id(rs.getInt("user_id"));
nameCard.setUser_name(rs.getString("user_name"));
nameCard.setClan(rs.getByte("Clan"));
nameCard.setVocation(rs.getByte("vocation"));
nameCard.setCard_type(rs.getByte("card_type"));
nameCardList.add(nameCard);
}
else
{
break;
}
}
nameCardListModel.setEndNum(endNum);
nameCardListModel.setNameCardList(nameCardList);
rs.close();
rs = null;
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if (pstm != null)
pstm.close();
if (conn != null)
conn.close();
}
catch (SQLException e)
{
}
}
return nameCardListModel;
}
看了看这方法:JDBC批量插入
{
Connection conn = null;
PreparedStatement pstm = null;
NameCardListModel nameCardListModel = new NameCardListModel();
nameCardListModel.setType(listType);
List<NameCard> nameCardList = new ArrayList<NameCard>();
try
{
conn = DBServiceImpl.getInstance().getConnection();
pstm = conn.prepareStatement(SELECT_NAME_CARD, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
pstm.setInt(1, userId);
pstm.setInt(2, listType);
ResultSet rs = pstm.executeQuery();
int Total = 0; // 记录的总数;
int pageCount = 0; // 记录的总页数;
rs.last(); // 移到最后一条记录;
Total = rs.getRow(); // 记录的总数;
if (Total % pageSize == 0) // 计算出总的页数PageCount;
{
pageCount = Total / pageSize;
}
else
{
pageCount = Total / pageSize + 1;
}
if (onPage > pageCount)
{
onPage = (byte)pageCount;
}
int startNum = (onPage - 1) * pageSize +1;// 开始记录
if(onPage==0)
{
startNum=0;
}
int endNum=0;
if(onPage==pageCount)
{
endNum = startNum+(Total-startNum);
}
else
{
endNum=startNum+pageSize-1;
}
nameCardListModel.setStartNum(startNum);
nameCardListModel.setTotal(pageCount);
if (onPage == 1)
rs.beforeFirst();// 移到第0行
else
rs.absolute(startNum-1);// 指定指针的位置;
for (int i = 0; i < pageSize; i++)
{
if (rs.next())
{
NameCard nameCard = new NameCard();
nameCard.setCard_id(rs.getInt("card_id"));
nameCard.setCard_owner_id(rs.getInt("card_owner_id"));
nameCard.setUser_id(rs.getInt("user_id"));
nameCard.setUser_name(rs.getString("user_name"));
nameCard.setClan(rs.getByte("Clan"));
nameCard.setVocation(rs.getByte("vocation"));
nameCard.setCard_type(rs.getByte("card_type"));
nameCardList.add(nameCard);
}
else
{
break;
}
}
nameCardListModel.setEndNum(endNum);
nameCardListModel.setNameCardList(nameCardList);
rs.close();
rs = null;
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if (pstm != null)
pstm.close();
if (conn != null)
conn.close();
}
catch (SQLException e)
{
}
}
return nameCardListModel;
}
看了看这方法:JDBC批量插入