package com.java.dao;
import com.java.model.User;
public interface UserDao {
//1.初始化数据
void doInitUser();
//2.新增用户
boolean doAddUser(User user);
//3.删除用户
boolean doDelUser(int uid);
//4.修改用户
boolean doModUser(int uid);
//5.通过id查询用户
User doFindById(int uid);
//6.回显所有的信息
void doPringAll();
}
package com.java.dao.impl;
import com.java.dao.UserDao;
import com.java.model.User;
import com.java.util.UserUtil;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class UserDaoImpl implements UserDao {
List<User> uList=new ArrayList<>(); //泛型和多态体现
// 不知道List里面装什么的时候用Object
@Override
public void doInitUser() {
User u1=new User(1001,"admin","admin");
User u2=new User(1002,"root","123456");
uList.add(u1);
uList.add(u2);
}
/*
/@param user是通过UserUtil获取
@return true新增成功,false新增失败
*/
@Override
public boolean doAddUser(User user) {
try {
uList.add(user);
System.out.println("新增成功!");
return true;
}catch (Exception e){
return false;
}
}
@Override
public boolean doDelUser(int uid) {
try {
//取每个元素操作
Iterator it=uList.iterator(); //取出容器中所有的元素
while (it.hasNext()){ //判断容器中是否存在元素,相当于数组的判空操作
User user = (User) it.next(); //取出元素
if (user.getUid()==uid){ //找到了需要删除的uid
uList.remove(user);
System.out.println("删除成功!");
}
}
return true;
}catch (Exception e){
return false;
}
}
@Override
public boolean doModUser(int uid) {
try {
Iterator it=uList.iterator();
while (it.hasNext()){
User user= (User) it.next();
if (user.getUid()==uid){
User modUser=new UserUtil().getUser("修改后");
//设置 计算机事别ITERATOR认为你取出来的是Object,并不是一个User,所以计算机看不懂你到底要修改什么
user.setUid(modUser.getUid());
user.setUsername(modUser.getUsername());
user.setPassword(modUser.getPassword());
System.out.println("修改成功!");
}
}
return true;
}catch (Exception e){
return false;
}
}
@Override
public User doFindById(int uid) {
User user=null;
try {
Iterator it=uList.iterator();
while (it.hasNext()){
user= (User) it.next();
if (user.getUid()==uid){
return user;
}
}
return user;
}catch (Exception e){
return user;
}
}
@Override
public void doPringAll() {
//高级for循环 - 遍历
for (User u:uList){
if (u!=null){
System.out.println(u);
}
}
}
public static void main(String[] args) {
UserDao dao=new UserDaoImpl(); //接口是不能直接new的
dao.doInitUser();
dao.doPringAll();
User user=new UserUtil().getUser("新增");
dao.doAddUser(user);
dao.doPringAll();
int uid=new UserUtil().getUid("修改");
dao.doModUser(uid);
dao.doPringAll();
}
}
package com.java.service;
import com.java.model.User;
public interface UserService {
//1.初始化数据
void doInitUser();
//2.新增用户
boolean doAddUser(User user);
//3.删除用户
boolean doDelUser(int uid);
//4.修改用户
boolean doModUser(int uid);
//5.通过id查询用户
User doFindById(int uid);
//6.回显所有的信息
void doPringAll();
}
package com.java.service.impl;
import com.java.dao.UserDao;
import com.java.dao.impl.UserDaoImpl;
import com.java.model.User;
import com.java.service.UserService;
public class UserServiceImpl implements UserService {
UserDao dao=new UserDaoImpl();
@Override
public void doInitUser() {
dao.doInitUser();
}
@Override
public boolean doAddUser(User user) {
boolean b= dao.doAddUser(user);
if (b){
System.out.println("新增成功!");
return true;
}else{
System.out.println("新增失败!");
return false;
}
}
@Override
public boolean doDelUser(int uid) {
boolean b=dao.doDelUser(uid);
if (b){
System.out.println("删除成功!");
return true;
}else{
System.out.println("删除失败!");
return false;
}
}
@Override
public boolean doModUser(int uid) {
boolean b=dao.doDelUser(uid);
if (b){
System.out.println("修改成功!");
return true;
}else{
System.out.println("修改失败!");
return false;
}
}
@Override
public User doFindById(int uid) {
return dao.doFindById(uid);
}
@Override
public void doPringAll() {
dao.doPringAll();
}
}
package com.java.util;
import com.java.model.User;
import java.util.Scanner;
public class UserUtil {
Scanner in=new Scanner(System.in);
//1.获取User对象
public User getUser(String str){
System.out.println("请您输入需要"+str+"的用户编号:");
int uid=in.nextInt();
System.out.println("请您输入需要"+str+"的用户名称:");
String username=in.next();
System.out.println("请您输入需要"+str+"的用户密码:");
String password=in.next();
User user=new User(uid,username,password);
return user;
};
//2.获取需要操作的uid
public int getUid(String str){
System.out.println("请您输入需要"+str+"的用户编号:");
int uid=in.nextInt();
return uid;
}
}