package com.view; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; import com.action.GoddessAction; import com.model.Goddess; public class View { private static final String CONTEXT = "欢迎来到女神禁区:\n" + "下面是女神禁区的功能列表:\n" + "[MAIN/M]:主菜单\n" + "[QUERY/Q]:查看全部女神的信息\n" + "[GET/G]:查看某位女神的详细信息\n" + "[ADD/A]:添加女神信息\n" + "[UPDATE/U]:更新女神信息\n" + "[DELETE/D]:删除女神信息\n" + "[SEARCH/S]:查询女神信息(根据姓名、手机号来查询)\n" + "[EXIT/E]:退出女神禁区\n" + "[BREAK/B]:退出当前功能,返回主菜单"; private static final String OPERATION_MAIN = "MAIN"; private static final String OPERATION_QUERY = "QUERY"; private static final String OPERATION_GET = "GET"; private static final String OPERATION_ADD = "ADD"; private static final String OPERATION_UPDATE = "UPDATE"; private static final String OPERATION_DELETE = "DELETE"; private static final String OPERATION_SEARCH = "SEARCH"; private static final String OPERATION_EXIT = "EXIT"; private static final String OPERATION_BREAK = "BREAK"; public static void main(String[] args) { Goddess goddess = new Goddess(); GoddessAction action = new GoddessAction(); String prenious = null; Integer temp = 1; System.out.println(CONTEXT); // 怎么保持程序一直运行 Scanner sc = new Scanner(System.in); while (true) { String in = sc.next().toString(); if (OPERATION_EXIT.equals(in.toUpperCase()) || OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())) { System.out.println("您已成功退出女神禁区。"); break; }else if(OPERATION_SEARCH.equals(in.toUpperCase()) || OPERATION_SEARCH.substring(0, 1).equals(in.toUpperCase())){ //根据女神姓名手机号查询女神信息 System.out.println("请输入女神的姓名:"); String name = sc.next(); System.out.println("请输入女神的手机号码:"); String mobile = sc.next(); List<Map<String,Object>> params = new ArrayList<Map<String,Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "user_name"); map.put("rela", "="); String realName = "'" + name + "'"; map.put("value", realName); params.add(map); map = new HashMap<String, Object>(); map.put("name", "mobile"); map.put("rela", "="); String realMobile = "'" + mobile + "'"; map.put("value", realMobile); params.add(map); try { List<Goddess> result = action.query(params); for (int i = 0; i < result.size(); i++) { System.out.println("查询到的信息为:"+result.get(i).getId()+":"+result.get(i).getUser_name());} } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("请输入正确的姓名和手机号!!"); } }else if (OPERATION_UPDATE.equals(in.toUpperCase()) || OPERATION_UPDATE.substring(0, 1).equals(in.toUpperCase()) || OPERATION_UPDATE.equals(prenious)) { prenious = OPERATION_UPDATE; //修改女神信息 if(1 == temp){ System.out.println("请输入需要修改的女神ID"); Integer id = sc.nextInt(); goddess.setId(id); System.out.println("请输入修改后的名字"); }else if(2 == temp){ goddess.setUser_name(in); System.out.println("请输入修改后的年龄"); }else if(3 == temp){ goddess.setAge(Integer.valueOf(in)); System.out.println("请输入修改后的生日,格式如下:yyyy--MM--dd"); }else if(4 == temp){ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Date birthday = null; try { birthday = sf.parse(in); goddess.setBirthday(birthday); System.out.println("请输入修改后的邮箱"); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("您输入的格式有误!!请重新输入"); temp = 3; } }else if(5 == temp){ goddess.setEmail(in); System.out.println("请输入修改后的手机号码"); } else if (6 == temp) { goddess.setMobile(in); try { action.edit(goddess); System.out.println("修改女神成功!!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("修改女神失败!!"); } } if (OPERATION_UPDATE.equals(prenious)) { temp++; } }else if(OPERATION_MAIN.equals(in.toUpperCase()) || OPERATION_MAIN.substring(0, 1).equals(in.toUpperCase())){ //返回主菜单 System.out.println(CONTEXT); }else if(OPERATION_BREAK.equals(in.toUpperCase()) ||OPERATION_BREAK.substring(0,1).equals(in.toUpperCase())){ //退出当前功能,返回主菜单 System.out.println("你已退出女神区!"); System.out.println(CONTEXT); continue; }else if(OPERATION_DELETE.equals(in.toUpperCase()) || OPERATION_DELETE.substring(0, 1).equals(in.toUpperCase()) || OPERATION_DELETE.equals(prenious)){ prenious=OPERATION_DELETE; //根据女神ID删除女神 System.out.println("请输入你所要删除的女神ID:"); Integer id = sc.nextInt(); try { action.delete(id); System.out.println("删除成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("输入的格式有误,请重新输入[编号]:"); } }else if(OPERATION_GET.equals(in.toUpperCase()) || OPERATION_GET.substring(0, 1).equals(in.toUpperCase()) || OPERATION_GET.equals(prenious)){ prenious=OPERATION_GET; //根据女神编号查看女神信息 try { System.out.println("请根据女神的编号,来查看女神的基本信息"); Integer id = sc.nextInt(); goddess = action.getquery(id); System.out.println("姓名:"+goddess.getUser_name() +"\n"+"性别:"+goddess.getSex()+"\n"+"年龄:"+goddess.getAge()+"\n"+"生日:"+goddess.getBirthday()+"\n" +"手机号码:"+goddess.getMobile()+"\n"+"邮箱:"+goddess.getEmail()+"\n" +"更新人:"+goddess.getUpdate_user()+"\n"+"更新日期"+goddess.getUpdate_date()); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("请输入正确的女神编号"); } }else if(OPERATION_QUERY.equals(in.toUpperCase()) || OPERATION_QUERY.substring(0, 1).equals(in.toUpperCase())){ //查询所有女神信息 try { List<Goddess> list =action.query(); for (Goddess go : list) { System.out.println("编号:"+go.getId()+",姓名:"+go.getUser_name()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (OPERATION_ADD.equals(in.toUpperCase()) || OPERATION_ADD.substring(0, 1).equals(in.toUpperCase()) || OPERATION_ADD.equals(prenious)) { prenious = OPERATION_ADD; // 新增女神 if (1 == temp) { System.out.println("请输入女神的【姓名】"); } else if (2 == temp) { goddess.setUser_name(in); System.out.println("请输入女神的【年龄】"); } else if (3 == temp) { goddess.setAge(Integer.valueOf(in)); System.out.println("请输入女神的【生日】,格式如下:yyyy-MM-dd"); } else if (4 == temp) { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Date birthday = null; try { birthday = sf.parse(in); goddess.setBirthday(birthday); System.out.println("请输入女神的【邮箱】"); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("您输入的格式有误!!请重新输入"); temp = 3; } } else if (5 == temp) { goddess.setEmail(in); System.out.println("请输入女神的【手机号码】"); } else if (6 == temp) { goddess.setMobile(in); try { action.add(goddess); System.out.println("新增女神成功!!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("新增女神失败!!"); } } if (OPERATION_ADD.equals(prenious)) { temp++; } } else { System.out.println("您输入的值有误!请检查后重新输入"); } } } }
简单的做了一下,还有很多问题!!
https://github.com/jeness/J2EELearning/tree/master/jdbcEmployee
作业代码已传,欢迎批评指正
package com.imooc.view;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import com.imooc.action.GoddessAction;
import com.imooc.model.Goddess;
public class View {
private static final String CONTEXT="欢迎来到女神禁区:\n" +
"下面是女神禁区的功能列表:\n" +
"[MAIN/M]:主菜单\n" +
"[QUERY/Q]:查看全部女神的信息\n" +
"[GET/G]:查看某位女神的详细信息\n" +
"[ADD/A]:添加女神信息\n" +
"[UPDATE/U]:更新女神信息\n" +
"[DELETE/D]:删除女神信息\n" +
"[SEARCH/S]:查询女神信息(根据姓名、手机号来查询)\n" +
"[EXIT/E]:退出女神禁区\n" +
"[BREAK/B]:退出当前功能,返回主菜单";
private static final String OPERATION_MAIN="MAIN";
private static final String OPERATION_QUERY="QUERY";//
private static final String OPERATION_GET="GET";
private static final String OPERATION_ADD="ADD";//
private static final String OPERATION_UPDATE="UPDATE";
private static final String OPERATION_DELETE="DELETE";
private static final String OPERATION_SEARCH="SEARCH";
private static final String OPERATION_EXIT="EXIT";//
private static final String OPERATION_BREAK="BREAK";
/**
* @param args
* @throws
*/
public static void main(String[] args){
// TODO Auto-generated method stub
System.out.println(CONTEXT);
//怎么保持程序一直运行:永真循环
Scanner scan = new Scanner(System.in);
Goddess goddess = new Goddess();
GoddessAction action = new GoddessAction();
String prenious = null;//标记变量
Integer step = 1;//步骤标记
while(scan.hasNext()){
String in = scan.next().toString();
//退出
if(OPERATION_EXIT.equals(in.toUpperCase())
||OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())){
//输入exit(自动转换为大写)或者输入exit首字母即退出循环
//当输入字符为EXIT时,退出循环。
System.out.println("您已成功退出女神禁区!");
break;
}
//1.添加(添加女神信息)
else if(OPERATION_ADD.equals(in.toUpperCase())
||OPERATION_ADD.substring(0, 1).equals(in.toUpperCase())
||OPERATION_ADD.equals(prenious)){
prenious = OPERATION_ADD;
//新增女神
if(step==1){
System.out.println("请输入女神的[姓名]");
}else if(step==2){
goddess.setUser_name(in);
System.out.println("请输入女神的[年龄]");
}
else if(step==3){
goddess.setAge(Integer.valueOf(in));
System.out.println("请输入女神的[生日],格式如:yyyy-MM-dd");
}else if(step==4){
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date birthDay = null;
try {
birthDay = sf.parse(in);
goddess.setBirthday(birthDay);
System.out.println("请输入女神[邮箱]");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("您输入的格式有误,请重新输入!");
step=4-1;//因为结束会自增,定义为3,自增到4还是设置生日。
}
}else if(step==5){
goddess.setEmail(in);
System.out.println("请输入女神[手机号]");
}else if(step==6){
goddess.setMobile(in);
System.out.println("请输入女神[性别]");
}else if(step==7){
goddess.setSex(Integer.valueOf(in));
System.out.println("请输入是否删除");
}else if(step==8) {
goddess.setIsdel(Integer.valueOf(in));
try {
action.add(goddess);
System.out.println("新增女神成功!");
prenious=null;//标记变量还原
step=1;
goddess=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("新增女神失败!");
}
}
if(OPERATION_ADD.equals(prenious)){
step++;
}
}
//2.更新(更新女神信息)
else if(OPERATION_UPDATE.equals(in.toUpperCase())
||OPERATION_UPDATE.substring(0, 1).equals(in.toUpperCase())
||OPERATION_UPDATE.equals(prenious)){
prenious=OPERATION_UPDATE;//进入更新模块后将标记变量赋值为UPDATE
if(step==1){
System.out.println("请输入更新女神的[ID]:");
}else if(step==2){
int id = scan.nextInt();
try {
goddess = action.getById(id);
System.out.println("请输入更新的女神[姓名]:");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("请输入正确的女神ID哦~");
}
}else if(step==3){
goddess.setUser_name(in);
System.out.println("请输入更新的女神[年龄]");
}else if(step==4){
goddess.setAge(Integer.valueOf(in));
System.out.println("请输入更新的女神[生日],格式如:yyyy-MM-dd");
}else if (step==5) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date birthday = null;
try {
birthday = sf.parse(in);
goddess.setBirthday(birthday);
System.out.println("请输入更新的女神[邮箱]");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("您输入的格式有误,请重新输入!");
step=5-1;
}
}else if (step==6) {
goddess.setEmail(in);
System.out.println("请输入更新的女神[手机号]");
}else if (step==7) {
goddess.setMobile(in);
System.out.println("请输入更新的女神[性别]");
}else if (step==8) {
goddess.setSex(Integer.valueOf(in));
System.out.println("请输入是否删除");
}else if (step==9) {
goddess.setIsdel(Integer.valueOf(in));
try {
action.edit(goddess);
System.out.println("更新女神成功!");
prenious=null;//标记变量还原
step=1;
goddess=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(OPERATION_UPDATE.equals(prenious)){
step++;
}
}
//3.删除女神(删除女神信息)
else if(OPERATION_DELETE.equals(in.toUpperCase())
||OPERATION_DELETE.substring(0, 1).equals(in.toUpperCase())){
System.out.println("请输入要删除女神的[ID]");
try {
Integer id = new Integer(scan.nextInt());
action.del(id);
System.out.println("女神删除成功!");
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("女神删除失败!");
}
}
//4.全部查询(查看全部女神的信息)
else if(OPERATION_QUERY.equals(in.toUpperCase())
||OPERATION_QUERY.substring(0,1).equals(in.toUpperCase())){
try {
List<Goddess> list = action.query();
for (Goddess goddess2 : list) {
System.out.println(goddess2.getId()+":"+goddess2.getUser_name());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//5.信息查询(查询女神信息(根据姓名、手机号来查询))
else if(OPERATION_SEARCH.equals(in.toUpperCase())
||OPERATION_SEARCH.substring(0, 1).equals(in.toUpperCase())
||OPERATION_SEARCH.equals(prenious)){
prenious=OPERATION_SEARCH;
List<Map<String, Object>> params = new ArrayList<Map<String,Object>>();
Map<String, Object> map = new HashMap<String, Object>();
if(step==1){
System.out.println("请输入女神的[姓名]");
}else if (step==2) {
map.put("name","user_name" );
map.put("rela", "=");
map.put("value", in);
System.out.println("请输入女神的[手机号码]");
}else if(step==3){
map.put("name","mobile");
map.put("rela", "=");
map.put("value", in);
params.add(map);
try {
List<Goddess> list=action.query(params);
System.out.println("查询到的女神信息如下:");
for (Goddess goddess2 : list) {
System.out.println(goddess2.getId()+":"+goddess2.getUser_name());
}
prenious=null;//标记变量还原
step=1;
goddess=null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(OPERATION_SEARCH.equals(prenious)){
step++;
}
}
//6.id查询(查看某位女神的详细信息)
else if (OPERATION_GET.equals(in.toUpperCase())
||OPERATION_GET.substring(0, 1).equals(in.toUpperCase())) {
System.out.println("请输入要查看女神的[ID]");
int id =scan.nextInt();
try {
Goddess g= action.getById(id);
System.out.println(g.getId()+":"+g.getUser_name());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//7.主菜单
else if(OPERATION_MAIN.equals(in.toUpperCase())
||OPERATION_MAIN.substring(0, 1).equals(in.toUpperCase())){
System.out.println(CONTEXT);
continue;
}
//8.返回上一级
else if(OPERATION_BREAK.equals(in.toUpperCase())
||OPERATION_BREAK.substring(0, 1).equals(in.toUpperCase())) {
System.out.println("您已返回主菜单");
System.out.println(CONTEXT);
continue;
}
else{
System.out.println("您输入的值为:"+in);
}
}
}
}