实验目的:
在Eclipse下编辑、编译、运行、调试关于java数据库的程序。
实验内容:
先建立一个某单位的员工工资数据库,在此基础上通过编程实现以下功能:
在数据库中建立一个员工信息表,表名为员工,其结构为:编、姓名、性别、年龄、职称、工资、是否党员;
在表中输入若干数据记录(“职称”可分为高中低三级,其他数据自己设计);
删除年龄超过60岁的员 工记录;
修改职称为高级且为党 员的员工的工资设为3000:在表中查询所有记录显示到屏幕上。
源程序:
具体代码如下:
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
public class Jdbc {
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/company";
public static final String DBUSER = "root";
public static final String DBPASS = "root";
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection connection = null;
Statement statement = null;
try {
Class.forName(DBDRIVER);
} catch (ClassNotFoundException e1) {
// TODO: handle exception
e1.printStackTrace();
}
try {
connection = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
statement = connection.createStatement();
// 删除原表
statement.executeUpdate("DROP TABLE employeeInformation");
//创建表
statement.executeUpdate("CREATE TABLE employeeInformation(id CHAR(30),name CHAR(20),sex CHAR(2),age INTEGER,jobTitle CHAR(20),wage INTEGER,partyMember CHAR(20))");
// 插入数据
statement.executeUpdate("INSERT INTO employeeInformation VALUES('01','张三','男',18,'高',2500,'是')");
statement.executeUpdate("INSERT INTO employeeInformation VALUES('02','李四','女',20,'高',2000,'否')");
statement.executeUpdate("INSERT INTO employeeInformation VALUES('03','王五','男',27,'中',1500,'是')");
statement.executeUpdate("INSERT INTO employeeInformation VALUES('04','赵六','女',68,'中',4300,'否')");
statement.executeUpdate("INSERT INTO employeeInformation VALUES('05','小a','女',28,'低',3000,'是')");
// 删除年龄超过60岁的员工记录
statement.executeUpdate("DELETE FROM employeeInformation WHERE age>60");
// 修改职称为高级且为党员的员工的工资设为3000
statement.executeUpdate("UPDATE employeeInformation SET wage=3000 WHERE jobTitle='高'&&partyMember='是'");
// 在表中查询所有记录显示到屏幕上
PreparedStatement pstm = connection.prepareStatement("select * from employeeInformation");
ResultSet rs = pstm.executeQuery();
System.out.println("编号" + "\t姓名" + "\t性别" + "\t年龄" + "\t职称" + "\t工资" + "\t是否党员");
while(rs.next())
{
String id = rs.getString("id").trim();
String name = rs.getString("name").trim();
String sex = rs.getString("sex").trim();
int age = rs.getInt("age");
String jobTitle = rs.getString("jobTitle").trim();
int wage = rs.getInt("wage");
String partyMember = rs.getString("partyMember").trim();
System.out.println(id + "\t" + name + "\t" + sex + "\t" + age + "\t" + jobTitle + "\t" + wage + "\t" + partyMember);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
try {
statement.close();
connection.close();
} catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
实验结果与体会:
结果:运行该程序时,要先创建一个公司的数据库,随后才能在程序中调用这个数据库并在该数据库中创建员工的信息表,实现添加删除等功能。
运行结果如下图所示:
体会:在本次实验中,我了解了MySOL的安装及配置,还有MySQL的常用操作,对于数据库的应用有了深刻的认识,熟悉了java操作数据库的方式,实现了简单的增删改查等功能,学会了如何通过传递sql语句操作数据库。