java语言数据库课程设计_数据库课程设计 人事管理系统 (一)
一、JAVA与数据库的合作此次开发语言为Java,所用的数据库驱动是mysql-connector-java-5.1.8-bin.jar第一步 用Java连接MySQL数据库(驱动下载:https://dev.mysql.com/downloads/connector/j/ )将下载好的mysql-connector-java-5.1.8-bin.jar复制到本机下载的Java的文件夹中 (作者的是 C:\Program Files (x86)\Java\jdk1.7.0_07)然后在 Eclipse 中,鼠标选中人事管理系统工程,右键点击 Build Path,选择 Configure Build Path,会 跳 出 一 个 属 性 框 图 。选 择 Java Build Path 下 的 Libraries , 查 看 是 否 有 mysql-connector-java-5.1.8-bin.jar。如果没有,点击Add External JARs,浏览到JDBC的MySQL 驱动的 jar 包,点击确定,将其导入到项目中。
第二步 在项目下跑一个测试代码来检测数据库是否链接成功
public class Test() {
public static void main(String []args){
try {
//mysql数据库设置驱动程序类型
Class.forName("com.mysql.jdbc.Driver");
System.out.println("mysql数据库驱动加载成功");
//sqlserver数据库设置驱动程序类型
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//System.out.println("sqlserver数据库驱动加载成功");
}
catch(java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
}
}
第三步:驱动链接成功后,就可以在数据库建立待操作的基本表了
人事管理系统主要表为 (员工信息表 和 人事变更表)
对表的基本操作包括 用SQL语句对表中数据进行查询和更新(增删改)
首先创建一个Connection对象 然后用SQL语句对数据库进行操作 具体代码如下
package exercise3;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class DbProcess{
static Connection connection = null; //链接对象
static ResultSet rs=null ; //操作后结果集
//mysql数据库url
static String userMySql="root"; //数据库用户名
static String passwordMySql="a123456"; //密码
static String urlMySql = "jdbc:mysql://localhost:3306/StaffDb?user="+userMySql+"&password="+passwordMySql+"&useUnicode=true&characterEncoding=gbk"; //将数据库与Java链接
public DbProcess() { DbProcess//构造函数
try {
//mysql数据库设置驱动程序类型
Class.forName("com.mysql.jdbc.Driver");
System.out.println("mysql数据库驱动加载成功");
}
catch(java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void connect(){ //连接
try{
//mysql数据库
connection = DriverManager.getConnection(urlMySql);
if(connection!=null){
System.out.println("数据库连接成功");
}
}
catch(Exception e){
e.printStackTrace();
}
}
public static void disconnect(){ //断开连接
try{
if(connection != null){
connection.close();
connection = null;
}
}
catch(Exception e){
e.printStackTrace();
}
}
public static ResultSet executeQuery(String sql) { //把查询SQL语句传送至数据库并执行 然后返回查询的结果集
try {
System.out.println("executeQuery(). sql = " + sql);
PreparedStatement pstm = connection.prepareStatement(sql); //PreparedStatement:用于执行sql语句的对象
//用connection的PreparedStatement(sql)方法获取
rs = pstm.executeQuery();
// ResultSet rw=rs;
//while(rs.next()){
//System.out.println(rs.getString("pNo"));
// }
}
catch(SQLException ex) {
ex.printStackTrace();
}
return rs;
}
//插入
//executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。
//executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句
//以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。
//执行增、删、改语句的方法
public static int executeUpdate(String sql) { //把更新SQL语句传送至数据库执行
int count = 0;
connect();
try {
Statement stmt = connection.createStatement();
count = stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
disconnect();
return count;
}
}
例如 查询所有员工的个人信息
try{
// 建立查询条件
String sql = "select * from person;";
System.out.println("queryAllProcess(). sql = " + sql);
// 将查询获得的记录数据,转换成适合生成JTable的数据形式
DbProcess.connect();
DbProcess.executeQuery(sql); //结果集ResultSet
// 将查询获得的记录数据,转换成适合生成JTable的数据形式
staffVector.clear(); //此条为UI部分 可不管
while(DbProcess.rs.next()){
Vector v = new Vector();
System.out.println(DbProcess.rs.getString("pName")); //测试语句:输出查询出来的姓名
v.add(DbProcess.rs.getString("pId"));
v.add(DbProcess.rs.getString("pName"));
v.add(DbProcess.rs.getString("pSex"));
v.add(MD5.decrypt(DbProcess.rs.getString("pPasswd")));
//MD5.decrypt()为我的数据库密码算法
v.add(DbProcess.rs.getString("pAuthority"));
v.add(DbProcess.rs.getString("pDepartment"));
v.add(DbProcess.rs.getString("pJob"));
v.add(DbProcess.rs.getString("pEdulevel"));
v.add(DbProcess.rs.getString("pSpcialty"));
v.add(DbProcess.rs.getString("pBirthday"));
v.add(DbProcess.rs.getString("pAddress"));
v.add(DbProcess.rs.getString("pTel"));
v.add(DbProcess.rs.getString("pEmail"));
v.add(DbProcess.rs.getString("pState"));
v.add(DbProcess.rs.getString("pRemark"));
staffVector.add(v); // 查询结果集已转换为Vector v ,并将v添加到我的GUI中显示
}
StaffJTable.updateUI(); //此条更新UI,在本次可以不管
DbProcess.disconnect();
}catch(SQLException sqle){
System.out.println("sqle = " + sqle);
JOptionPane.showMessageDialog(null,
"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}catch(Exception e){
System.out.println("e = " + e);
JOptionPane.showMessageDialog(null,
"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
最后提前预览一波,俺本次课程设计做出最后的作品
用户模式:
管理员模式:
(各位大佬如果有好意见欢迎及时提出,假如没有及时回复可以邮件738156044@qq.com)
java语言数据库课程设计_数据库课程设计 人事管理系统 (一)相关推荐
- java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc
JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...
- java语言基础-刘建-专题视频课程
java语言基础-4096人已学习 课程介绍 这是java语言基础入门课程,适合刚入门的小白. 课程收益 了解java发展历史 掌握开发环境搭建和IDE使用 学习基本语法 讲师 ...
- 第九届蓝桥杯省赛JAVA语言 C组题解_题7 缩位求和
JAVA语言 C组题解_题7 缩位求和 题目 解题思路 题目 标题:缩位求和 在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确. 比如:248 * 15 = 3720 把乘数和被乘 ...
- 人事管理java 课程设计_数据库+Java课程设计 人事管理系统 (一)
一.JAVA与数据库的合作 此次开发语言为Java,所用的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步 用Java连接MySQL数据库(驱动下载:htt ...
- 学生成绩管理系统mysql课程设计_数据库课程设计(极其简单的学生成绩管理系统)...
这个是我大三上学期的时候刚开始学习数据库课程的时候做的一个很稀烂的课程设计的源代码,当时刚刚开始学习Java和Oracle,而且当时就花了今年元旦3天假,做的这个C/S程序中没有加入触发器和存储过程等 ...
- 医院管理系统mysql课程设计_数据库(课程设计)报告(医院管理系统).doc
数据库(课程设计)报告(医院管理系统) 数据库课程设计 报告模版 齐齐哈尔大学 数据库课程设计报告 题目: 班级: 姓名: 学号: 指导教师: 2013 医院信息管理系统 摘要:医院作为一个极其重要的 ...
- java语言的命题原则_重庆自考《Java语言程序设计(一)》课程全国统一命题考试说明...
为组织好高等教育自学考试<Java语言程序设计(一)>课程的全国统一考试命题工作,根据全国统一命题课程的有关规定,特制定本说明. 一.考试原则 1.考试标准 本课程考试参照全日制普通高校同 ...
- java编写文件系统的方法_操作系统课程设计模拟文件系统Java
[实例简介] 一个操作系统课程设计,使用java语言模拟磁盘文件系统实现,实现了FAT算法 [实例截图] [核心代码] e692cc3b-c785-40f6-babe-2f9d5383f034 └── ...
- java修改数据库表结构_数据库设计(一):设计传统系统表结构(Java开发)
以下文章来源于微信公众号 程序编程之旅 ,作者陈浩翔 此处仅供本人学习记录之用,侵删 本篇为第一篇.讲解传统系统的表结构设计(Java开发). 讲讲如何避免数据库设计的一些坑,方便后期的开发与维护. ...
- java聊天软件课程设计_[计算机课程设计] JAVA课程设计-聊天室
本系统基于C/S模式. 新的时代,新的世纪,在当今这个发达的信息时代,网上办公,极为普遍,生活变的简单化,人们在家就可以办公,是信息化时代的标志.我经过多方的调查和研究,并灵活运用了自己所学的知识,编 ...
最新文章
- html 经常会用到的英语名词
- wireshark找不到接口_下水管漏水,维修师傅看一眼就收了200,自己换其实不到10块...
- vue-awesome-swiper 的安装和使用
- 【maven】maven-scm-plugin 使用
- matlab cy68013,基于MATLAB的码垛机械手运动学分析与仿真
- 西门子PLC程序调试方法
- 关于马克思《青年在选择职业时的考虑》的读书报告
- IDEA 黄色警告 found duplicated code in this file finds duplicated code
- 线程死锁 导致 服务器cpu负载过高
- 用c语言绘制五角星图形,用c语言画出一个五角星图案
- containsAll的用法
- LINUX之静态库共享库
- net framework4.0未能成功安装、另一个安装操作正在进行、请继续这个操作之前完成那个操作。
- snap.py 教程
- 递归算法(二分查找)
- oracle如何收缩表空间文件,ORACLE 收缩表空间的数据文件
- 认识计算机操作系统ppt,使用操作系统,认识计算机.ppt
- TSC MH240 打印机驱动
- Linux 知识总结
- 听云监控.NET Core的配置误区
热门文章
- 实训报告万能模板计算机专业,计算机实训报告模板
- 中兴盒子第三方软件通用教程安装教程
- WIFI抓包实战篇——使用Kali 同时抓取多个智能家居数据包
- 桌上远远演唱特别行政区
- matlab代码 无标度网络 生成图,标准无标度网络matlab
- ios实现读写锁,AFN的实现
- 博图(博途)V14编译成功,但仿真无法弹出下载程序窗口/不弹框
- 剖析《Linux 平均负载:解开谜团》
- ansys与solidworks关联失败,将SolidWorks模型导入ansys划分网格总是提示错误
- graphpad如何加标注_GraphPad Prism绘图教程 | 如何在图表里插入特殊字符/符号