package org.microblog.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.microblog.po.Favorite;
import org.microblog.util.DBConn;
public class FavoriteDao {
public boolean addFavorite(final Favorite favorite){
String sql_addFavorite = "insert into favorite(u_id,m_id,fa_date) values(?,?,?)";
DBConn dbConn = new DBConn();
int u_id = favorite.getU_id();
int m_id = favorite.getM_id();
String fa_date = favorite.getFa_date();
//String fa_info = favorite.getFa_info();
int affectedRows = dbConn.execOther(sql_addFavorite, new Object[]{u_id,m_id,fa_date});
dbConn.closeConn();
return affectedRows>0?true:false;
}
public List getFavoriteByUserId(final int u_id){
List favorites = new ArrayList();
String sql_getFavoriteByUserId = "select * from favorite where u_id = ?";
DBConn dbConn = new DBConn();
ResultSet rs = dbConn.execQuery(sql_getFavoriteByUserId, new Object[]{u_id});
try {
while(rs.next()){
Favorite favorite = new Favorite();
favorite.setFa_id(rs.getInt("fa_id"));
favorite.setU_id(rs.getInt("u_id"));
favorite.setM_id(rs.getInt("m_id"));
favorite.setFa_date(rs.getString("fa_date"));
if(rs.getString("fa_info")!=null)
favorite.setFa_info(rs.getString("fa_info"));
favorites.add(favorite);
}
if(!favorites.isEmpty()){
return favorites;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dbConn.closeConn();
}
return favorites;
}
public long getFavoriteAmountByUserId(final int u_id){
String sql_getFavoriteAmountByUserId = "select count(*) from favorite where u_id = ?";
DBConn dbConn = new DBConn();
ResultSet rs = dbConn.execQuery(sql_getFavoriteAmountByUserId, new Object[]{u_id});
long amount = 0;
try {
while(rs.next()){
amount = rs.getLong("count(*)");
return amount;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dbConn.closeConn();
}
return amount;
}
public long getFavoriteAmountByBlogId(final int m_id){
String sql_getFavoriteAmountByUserId = "select count(*) from favorite where m_id = ?";
DBConn dbConn = new DBConn();
ResultSet rs = dbConn.execQuery(sql_getFavoriteAmountByUserId, new Object[]{m_id});
long amount = 0;
try {
while(rs.next()){
amount = rs.getLong("count(*)");
return amount;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dbConn.closeConn();
}
return amount;
}
}