package org.csu.mypetstore.persistence.Impl;
import org.csu.mypetstore.domain.Account;
import org.csu.mypetstore.persistence.AccountDAO;
import org.csu.mypetstore.persistence.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class AccountDAOImpl implements AccountDAO {
private static final String getAccountByUsernameString = "SELECT" +
" SIGNON.USERNAME," +
" ACCOUNT.EMAIL," +
" ACCOUNT.FIRSTNAME," +
" ACCOUNT.LASTNAME," +
" ACCOUNT.STATUS," +
" ACCOUNT.ADDR1 AS address1," +
" ACCOUNT.ADDR2 AS address2," +
" ACCOUNT.CITY," +
" ACCOUNT.STATE," +
" ACCOUNT.ZIP," +
" ACCOUNT.COUNTRY," +
" ACCOUNT.PHONE," +
" PROFILE.LANGPREF AS languagePreference," +
" PROFILE.FAVCATEGORY AS favouriteCategoryId," +
" PROFILE.MYLISTOPT AS listOption," +
" PROFILE.BANNEROPT AS bannerOption," +
" BANNERDATA.BANNERNAME" +
" FROM ACCOUNT, PROFILE, SIGNON, BANNERDATA" +
" WHERE ACCOUNT.USERID = ?" +
" AND SIGNON.USERNAME = ACCOUNT.USERID" +
" AND PROFILE.USERID = ACCOUNT.USERID" +
" AND PROFILE.FAVCATEGORY = BANNERDATA.FAVCATEGORY";
private static final String getAccountByUsernameAndPasswordString = "SELECT \n" +
"SIGNON.USERNAME, ACCOUNT.EMAIL, ACCOUNT.FIRSTNAME, ACCOUNT.LASTNAME, \n" +
"ACCOUNT.STATUS, ACCOUNT.ADDR1 AS address1, ACCOUNT.ADDR2 AS address2, ACCOUNT.CITY, ACCOUNT.STATE, ACCOUNT.ZIP, ACCOUNT.COUNTRY, ACCOUNT.PHONE, \n" +
"PROFILE.LANGPREF AS languagePreference, PROFILE.FAVCATEGORY AS favouriteCategoryId, PROFILE.MYLISTOPT AS listOption, PROFILE.BANNEROPT AS bannerOption, \n" +
"BANNERDATA.BANNERNAME \n" +
"FROM ACCOUNT, PROFILE, SIGNON, BANNERDATA \n" +
"WHERE ACCOUNT.USERID = ?\n" +
"AND SIGNON.PASSWORD = ?\n" +
"AND SIGNON.USERNAME = ACCOUNT.USERID \n" +
"AND PROFILE.USERID = ACCOUNT.USERID \n" +
"AND PROFILE.FAVCATEGORY = BANNERDATA.FAVCATEGORY";
private static final String insertAccountString = " INSERT INTO ACCOUNT" +
" (EMAIL, FIRSTNAME, LASTNAME, STATUS, ADDR1, ADDR2, CITY, STATE, ZIP, COUNTRY, PHONE, USERID)" +
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ;
private static final String insertProfileString = " INSERT INTO PROFILE (LANGPREF, FAVCATEGORY, USERID) VALUES (?, ?, ?)";
private static final String insertSignonString = "INSERT INTO SIGNON (PASSWORD,USERNAME) VALUES (?, ?)";
private static final String updateAccountString = "UPDATE ACCOUNT SET" +
" EMAIL = ?," +
" FIRSTNAME = ?," +
" LASTNAME = ?," +
" STATUS = ?," +
" ADDR1 = ?," +
" ADDR2 = ?," +
" CITY = ?," +
" STATE = ?," +
" ZIP = ?," +
" COUNTRY = ?," +
" PHONE = ?" +
" WHERE USERID = ?";
private static final String updateProfileString = "UPDATE PROFILE SET LANGPREF = ?, FAVCATEGORY = ? WHERE USERID = ?";
private static final String updateSignonString = "UPDATE SIGNON SET PASSWORD = ? WHERE USERNAME = ?";
@Override
public Account getAccountByUsername(String username) {
Account account = null;
try{
Connection connection = DBUtil.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(getAccountByUsernameString);
preparedStatement.setString(1, username);
ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()){
account = new Account();
account.setUsername(resultSet.getString(1));
account.setEmail(resultSet.getString(2));
account.setFirstName(resultSet.getString(3));
account.setLastName(resultSet.getString(4));
account.setStatus(resultSet.getString(5));
account.setAddress1(resultSet.getString(6));
account.setAddress2(resultSet.getString(7));
account.setCity(resultSet.getString(8));
account.setState(resultSet.getString(9));
account.setZip(resultSet.getString(10));
account.setCountry(resultSet.getString(11));
account.setPhone(resultSet.getString(12));
account.setLanguagePreference(resultSet.getString(13));
account.setFavouriteCategoryId(resultSet.getString(14));
account.setListOption(resultSet.getBoolean(15));
account.setBannerOption(resultSet.getBoolean(16));
account.setBannerName(resultSet.getString(17));
}
DBUtil.closeResultSet(resultSet);
DBUtil.closePreparedStatent(preparedStatement);
DBUtil.closeConnection(connection);
}catch (Exception e){
e.printStackTrace();
}
return account;
}
@Override
public Account getAccountByUsernameAndPassword(Account account) {
Account account1 = null;
try {
Connection connection = DBUtil.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(getAccountByUsernameAndPasswordString);
preparedStatement.setString(1, account.getUsername());
preparedStatement.setString(2, account.getPassword());
ResultSet resultSet = preparedStatement.executeQuery();
if(resultSet.next()){
account1 = new Account();
account1.setUsername(resultSet.getString(1));
account1.setEmail(resultSet.getString(2));
account1.setFirstName(resultSet.getString(3));
account1.setLastName(resultSet.getString(4));
account1.setStatus(resultSet.getString(5));
account1.setAddress1(resultSet.getString(6));
account1.setAddress2(resultSet.getString(7));
account1.setCity(resultSet.getString(8));
account1.setState(resultSet.getString(9));
account1.setZip(resultSet.getString(10));
account1.setCountry(resultSet.getString(11));
account1.setPhone(resultSet.getString(12));
account1.setLanguagePreference(resultSet.getString(13));
account1.setFavouriteCategoryId(resultSet.getString(14));
account1.setListOption(resultSet.getBoolean(15));
account1.setBannerOption(resultSet.getBoolean(16));
account1.setBannerName(resultSet.getString(17));
}
DBUtil.closeResultSet(resultSet);
DBUtil.closePreparedStatent(preparedStatement);
DBUtil.closeConnection(connection);
}catch (Exception e){
e.printStackTrace();
}
return account1;
}
@Override
public void insertAccount(Account account) {
try {
Connection connection = DBUtil.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(insertAccountString);
preparedStatement.setString(1, account.getEmail());
preparedStatement.setString(2, account.getFirstName());
preparedStatement.setString(3, account.getLastName());
preparedStatement.setStri
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于MVC用JSP/Servlet实现JPetStore——使用AJAX和jQuery改善用户体验 (334个子文件)
Order.class 8KB
Order.class 8KB
OrderDAOImpl.class 8KB
OrderDAOImpl.class 8KB
AccountDAOImpl.class 8KB
AccountDAOImpl.class 8KB
ItemDAOImpl.class 6KB
ItemDAOImpl.class 6KB
NewAccountServlet.class 5KB
NewAccountServlet.class 5KB
OrderService.class 4KB
OrderService.class 4KB
SaveAccountServlet.class 4KB
SaveAccountServlet.class 4KB
Account.class 4KB
Account.class 4KB
VerificationCode.class 4KB
VerificationCode.class 4KB
Cart.class 4KB
Cart.class 4KB
UpdateCartQuantitiesServlet.class 4KB
UpdateCartQuantitiesServlet.class 4KB
AddItemToCartServlet.class 4KB
AddItemToCartServlet.class 4KB
SignOnServlet.class 4KB
SignOnServlet.class 4KB
ProductDAOImpl.class 4KB
ProductDAOImpl.class 4KB
NewOrderFormServlet.class 4KB
NewOrderFormServlet.class 4KB
ShippingAddressServlet.class 3KB
ShippingAddressServlet.class 3KB
RemoveItemFromCartServlet.class 3KB
RemoveItemFromCartServlet.class 3KB
Item.class 3KB
Item.class 3KB
ViewCategoryServlet.class 3KB
ViewCategoryServlet.class 3KB
ViewProductServlet.class 3KB
ViewProductServlet.class 3KB
ViewOrderServlet.class 3KB
ViewOrderServlet.class 3KB
UpdateCartJSServlet.class 3KB
UpdateCartJSServlet.class 3KB
Log.class 3KB
Log.class 3KB
LineItemDAOImpl.class 3KB
LineItemDAOImpl.class 3KB
SearchProductServlet.class 3KB
SearchProductServlet.class 3KB
ConfirmOrderFormServlet.class 3KB
ConfirmOrderFormServlet.class 3KB
ViewListOrderServlet.class 3KB
ViewListOrderServlet.class 3KB
ViewItemServlet.class 3KB
ViewItemServlet.class 3KB
CategoryDAOImpl.class 3KB
CategoryDAOImpl.class 3KB
ViewCartServlet.class 3KB
ViewCartServlet.class 3KB
ShippingFormServlet.class 3KB
ShippingFormServlet.class 3KB
CatalogService.class 3KB
CatalogService.class 3KB
LineItem.class 3KB
LineItem.class 3KB
SignOffServlet.class 3KB
SignOffServlet.class 3KB
NewAccountFormServlet.class 2KB
NewAccountFormServlet.class 2KB
EditAccountServlet.class 2KB
EditAccountServlet.class 2KB
JPetStoreDemoServlet.class 2KB
JPetStoreDemoServlet.class 2KB
SignOnFormServlet.class 2KB
SignOnFormServlet.class 2KB
SequenceDAOImpl.class 2KB
SequenceDAOImpl.class 2KB
MainServlet.class 2KB
MainServlet.class 2KB
CategoryShowJsServlet.class 2KB
CategoryShowJsServlet.class 2KB
FindResultServlet.class 2KB
FindResultServlet.class 2KB
DBUtil.class 2KB
DBUtil.class 2KB
UsernameIsExistServlet.class 2KB
UsernameIsExistServlet.class 2KB
AccountService.class 2KB
AccountService.class 2KB
CartItem.class 2KB
CartItem.class 2KB
Log4InitServlet.class 1KB
Log4InitServlet.class 1KB
LogDAOImpl.class 1KB
LogDAOImpl.class 1KB
Product.class 1KB
Product.class 1KB
LogServlet.class 1KB
LogServlet.class 1KB
共 334 条
- 1
- 2
- 3
- 4
资源评论
渣渣的夏天
- 粉丝: 2356
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功