package com.gzsxt.dao.impl; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.jws.soap.SOAPBinding.Use; import com.gzsxt.dao.SysUserDao; import com.gzsxt.pojo.SysUser; import com.gzsxt.util.BaseUtil; public class SysUserDaoImpl implements SysUserDao{ //實例化工具類 BaseUtil util=new BaseUtil(); @Override public SysUser userLogin(String username, String password) { SysUser user=null; //編寫SQL語句 String sql ="select * from s_user where s_userName=? and s_password=?"; PreparedStatement statement=util.getConnection(sql); try { //接收參數 if(username!=null) { statement.setString(1, username); } if(password!=null) { statement.setString(2, password); } //執行sql ResultSet result=statement.executeQuery(); //判斷結果集中是否有數據 while(result.next()) { user=new SysUser(); user.setS_id(result.getInt("s_id"));//主鍵 user.setS_username(result.getString("s_userName")); user.setS_uname(result.getString("s_uname")); user.setS_email(result.getString("s_email")); user.setS_phone(result.getLong("s_phone")); user.setS_password(result.getString("s_password")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return user; } @Override public boolean checkUserName(String username) { boolean flage=false; //編寫SQL語句 String sql ="select s_id from s_user where s_username=? "; PreparedStatement statement=util.getConnection(sql); try { //接收參數 if(username!=null) { statement.setString(1, username); } //執行sql ResultSet result=statement.executeQuery(); //判斷結果集中是否有數據 if(result.next()) { flage=true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return flage; } @Override public int addUser(String username, String uname, String pwd, String email, Long phone) { //編寫sql語句 String sql ="insert into s_user(s_userName,s_uname,s_password,s_email,s_phone) values(?,?,?,?,?)"; PreparedStatement statement=util.getConnection(sql); int row=0; //存入參數 try { if(username!=null) { statement.setString(1, username); } if(uname!=null) { statement.setString(2, uname); } if(pwd!=null) { statement.setString(3, pwd); } if(email!=null) { statement.setString(4, email); } if(phone!=null) { statement.setLong(5,phone); } //執行添加方法 row=statement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return row; } //currentPage當前頁面 //pagesize每一頁存放數據的數量 @Override public List<SysUser> getUserList(String name,int currentPage,int pageSize) { int index=0; List<SysUser> list=new ArrayList<SysUser>(); //編寫SQL語句 String sql ="select * from s_user "; //判斷傳遞的用戶名是否爲空 if(name!=null&&name.length()!=0) { //sql語句拼接 sql+=" where s_userName like ?"; } if(currentPage>0&&pageSize>0) { sql+=" limit ?,?"; } PreparedStatement statement=util.getConnection(sql); try { //用戶名不爲空,sql語句入參 if(name!=null&&name.length()!=0) { statement.setString(++index, "%"+name+"%"); } if(currentPage>0&&pageSize>0) { //當前頁碼與索引的關係 //pageindex:第一頁爲0,之後每次的索引爲噹噹前頁碼減一乘以頁數??? int pageindex=(currentPage-1)*pageSize; statement.setInt(++index, pageindex); statement.setInt(++index, pageSize); } //執行sql ResultSet result=statement.executeQuery(); //判斷結果集中是否有數據 while(result.next()) { SysUser user=new SysUser(); user.setS_id(result.getInt("s_id"));//主鍵 user.setS_username(result.getString("s_userName")); user.setS_uname(result.getString("s_uname")); user.setS_email(result.getString("s_email")); user.setS_phone(result.getLong("s_phone")); user.setS_password(result.getString("s_password")); //把對象存入到集合中 list.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } @Override public int deleteUserById(int id) { String sql ="delete from s_user where s_id=?"; PreparedStatement statement=util.getConnection(sql); try { statement.setInt(1, id); int number=statement.executeUpdate();//增刪改都是用此方法 return number; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; } @Override public SysUser getUserById(int id) { SysUser user=null; //編寫SQL語句 String sql ="select * from s_user "; try { if(id>0) { sql+="where s_id=?"; } //執行sql PreparedStatement statement=util.getConnection(sql); //接收參數 if(id>0) { statement.setInt(1, id); } //執行sql ResultSet result=statement.executeQuery(); //判斷結果集中是否有數據 if(result.next()) { user=new SysUser(); user.setS_id(result.getInt("s_id"));//主鍵 user.setS_username(result.getString("s_userName")); user.setS_uname(result.getString("s_uname")); user.setS_email(result.getString("s_email")); user.setS_phone(result.getLong("s_phone")); user.setS_password(result.getString("s_password")); } } catch (SQLException e) { e.printStackTrace(); } return user; } @Override public int updatUser(int id, String username, String uname, String pwd, String email, Long phone) { //編寫sql語句 String sql="update s_user set s_userName=?,s_uname=?,s_password=?,s_email=?,s_phone=? where s_id=?"; PreparedStatement statement=util.getConnection(sql); int row=0; //存入參數 try { if(username!=null) { statement.setString(1, username); } if(uname!=null) { statement.setString(2, uname); } if(pwd!=null) { statement.setString(3, pwd); } if(email!=null) { statement.setString(4, email); } if(phone!=null) { statement.setLong(5,phone); } if(id>0) { statement.setInt(6, id); } row=statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return row; } @Override public int getTotalCount() { String sql ="select count(*) from s_user"; PreparedStatement statement=util.getConnection(sql); try { ResultSet resultSet=statement.executeQuery(); if(resultSet.next()) { int totalCount=resultSet.getInt("count(*)"); return totalCount; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; } }