您的位置:首页 > 编程语言 > Java开发

idea中java使用集合进行简单的增删改查

2019-07-11 11:01 387 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sfwsdvw/article/details/95457640

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;
}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐