基于JDBC的Java控制台应用
来源:互联网 发布:php curl exec返回空 编辑:程序博客网 时间:2024/05/18 02:53
帮同学写一个小程序, 通过JDBC连接MySQL数据库, 来操作相关数据表, 并记录和查询信息, 没有图形界面, 是基于控制台来操作的.
项目结构图:
其中
vo包里面的User类是一个JavaBean实体类
view包提供无限循环的显示菜单
util工具包, 包括数据类型的转换, 数据库驱动的连接, 封装好的键盘录入操作
driver包: 包含main方法, 是程序的入口, 来启动项目
dao(data access object)包: 定义操作数据库数据的接口和它的实现类
相关代码:
UserManager.java:
package driver;import view.Menu;public class UserManager { public static void main(String[] args) { new Menu(); }}
Menu.java:
package view;import util.InputData;import dao.IUserDAOImp;import vo.User;import java.util.List;public class Menu { IUserDAOImp iu = new IUserDAOImp(); InputData input = new InputData(); public Menu() { while (true) { this.show(); } } public void show() { System.out.println("--------人员信息管理系统-------"); System.out.println("1.增加人员"); System.out.println("2.按编号删除人员"); System.out.println("3.按编号修改人员信息"); System.out.println("4.按编号查询人员信息"); System.out.println("5.按关键字查询人员信息"); System.out.println("0.退出"); User user = null; int i = input.getInt("请选择:", "请输入正确的选项!"); switch (i) { case 1: int id = input.getInt("请输入人员编号:", "格式不对,请重新输入!"); String name = input.getString("请输入人员姓名:"); String sex = input.getString("请输入性别:"); java.util.Date birthday = input.getDate("请输入出生日期:", "格式不对,请重新输入!"); user = new User(id, name, sex, birthday); if (iu.doInsert(user)) { System.out.println("添加成功!"); } else { System.out.println("添加失败!"); } break; case 2: int id2 = input.getInt("请输入人员编号:", "格式不对,请重新输入!"); try { if (iu.doDelete(id2)) { System.out.println("删除成功!"); } else { System.out.println("删除失败!"); } } catch (Exception e1) { e1.printStackTrace(); } break; case 3: int id3 = input.getInt("请输入人员编号:", "格式不对,请重新输入!"); String name3 = input.getString("请输入人员姓名:"); String sex3 = input.getString("请输入性别:"); java.util.Date birthday3 = input.getDate("请输入出生日期:", "格式不对,请重新输入!"); user = new User(id3, name3, sex3, birthday3); try { if (iu.doUpdate(id3, user)) { System.out.println("修改成功!"); } else { System.out.println("修改失败!"); } } catch (Exception e1) { e1.printStackTrace(); } break; case 4: int id4 = input.getInt("请输入人员编号:", "格式不对,请重新输入!"); try { user = iu.findById(id4); System.out.println(user); } catch (Exception e1) { e1.printStackTrace(); } break; case 5: String keyword5 = input.getString("请输入查询关键字"); try { List<User> list = iu.findByKey(keyword5); for (User u : list) { System.out.println(u); } } catch (Exception e) { e.printStackTrace(); } break; case 0: System.exit(1); break; default: System.out.println("请选择正确的操作!"); } }}
数据库操作:
SQL语句:
use `usermanage`;create table `user`( id int primary key, name varchar(25), sex varchar(5), birthday date);
演示结果:(右键选中图片, 点击查看图片, 查看高清大图)
最后注意:
该项目因为某些原因, 是GBK编码, 所以为了避免乱码, 需要设置项目的编码为GBK, Eclipse的设置同理. 同时, 里面包含.classpath和.project文件, 也可以直接通过Eclipse打开!
完整代码:
https://github.com/menglanyingfei/Java/blob/master/CodeCollection/JavaSEProjects/JDBC/JDBC.zip
@Author menglanyingfei@Created on 2017.11.30
博客地址
阅读全文
1 0
- 基于JDBC的Java控制台应用
- 基于控制台的OpenGL应用框架
- java的JDBC应用技巧
- Java中JDBC的应用
- 用Tomcat开发基于MySQL的应用提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- Java编写的 基于控制台的航班信息系统
- java 实现一个基于控制台的 扫雷 游戏
- Java基于数组和循环实现的控制台五子棋
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- hadoop集群搭建
- 【git】常用命令之解析
- zookeeper学习进度追踪
- 应用广泛的C++单例模式
- 机器学习如何与传统行业结合?金融领域可能是最大风口
- 基于JDBC的Java控制台应用
- RFC2048中文
- Spring boot helloWorld
- 数据库索引分析
- OpenMV参数标定
- 入门训练 圆的面积
- 对于线程的理解
- gradle新的依赖方式你真的了解吗?
- mybatis框架(4)---输入输出映射