问答详情
源自:2-9 JDBC实战---搭建视图层(下)

2-9作业 简单的做了一下

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("您输入的值有误!请检查后重新输入");
}
}
}
}

简单的做了一下,还有很多问题!!

提问者:只想敲个代码 2019-03-19 15:41

个回答

  • ARF阿圆圆圆圆圆
    2019-08-14 07:54:10

    https://github.com/jeness/J2EELearning/tree/master/jdbcEmployee

    作业代码已传,欢迎批评指正

  • WonderfulW
    2019-05-25 15:55:42

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

    }

    }

    }

    }