第一步:新建数据库
成都创新互联是一家专业提供上党企业网站建设,专注与成都网站制作、网站建设、H5开发、小程序制作等业务。10年已为上党众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
连接的是本地localhost,新建一个新的数据库名是jdbctest
然后建表t_emp
不会的话可通过执行下方的sql语句建表
CREATE TABLE `t_emp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`salary` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
第二步:新建java项目
新建完以后添加mysql驱动的jar包,jar包自己下载
在项目上右键鼠标属性,然后
添加jar包,我这里已经加载过了
第三步:编写代码
package com.gf;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class Test {
public static void main(String[] args) throws Exception {
int flag=0;
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
Connection conn=(Connection) DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest?user=rootpassword=123456useUnicode=truecharacterEncoding=UTF-8");
//3.创建statement
Statement sm=(Statement) conn.createStatement();
//4.执行sql语句
flag=sm.executeUpdate("insert into t_emp(name,salary) values('菲菲',34.9)");
if(flag!=0) {
System.out.println("员工信息增加成功");
}else {
System.out.println("添加失败");
}
}
}
注意点:
---------------------------------------------------------------------------------
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest?user=rootpassword=123456useUnicode=truecharacterEncoding=UTF-8");
这里需要修改自己本机的连接信息,不然会出现连接失败
最后的执行结果
简单,第一步:写一个员工类 第二步:写一个员工操作类 第三步:写一个测试主函数 第四步:写一个数据库操作类给你一个写过的代码,你自己参照着看看吧:在不行加我qq:1464388632 (给我分在加,否则不加)=================================测试类Application.java=================================import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;public class Application { public static void main(String[] args) throws Exception{
EmpManage em=new EmpManage();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String EmpNo;
String name;
double salary;
while(true)
{
String optype;
System.out.println("请输入你选的操作");
System.out.println("1:创建用户");
System.out.println("2:查找用户信息");
System.out.println("3:显示所有用户信息");
System.out.println("4: 保存到文件");
optype=br.readLine();
if(optype.equals("1"))
{
System.out.println("请输入用户ID");
EmpNo=br.readLine();
System.out.println("请输入用户名");
name=br.readLine();
System.out.println("请输入用户工资");
salary=Double.parseDouble( br.readLine());
Employee ee=new Employee(EmpNo,name,salary);
em.addEmployee(ee);
}else if(optype.equals("2"))
{
System.out.println("请输入用户ID");
EmpNo=br.readLine();
em.findEmployee(EmpNo);
}else if(optype.equals("3"))
{
em.allDisplay();
}else if(optype.equals("4")){
em.saveFile();
}
} }}
=================================员工类。Employee.java=================================import java.io.*;
public class Employee implements Serializable{
private String EmpNo;
private String name;
private double salary;
public Employee(String EmpNo,String name,double salary)
{
this.EmpNo=EmpNo;
this.name=name;
this.salary=salary;
} public String getEmpNo() {
return EmpNo;
} public void setEmpNo(String empNo) {
EmpNo = empNo;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public double getSalary() {
return salary;
} public void setSalary(double salary) {
this.salary = salary;
}
}
=================================员工操作类。EmpManage.java================================= import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;public class EmpManage {
ArrayList al=new ArrayList();
//创建添加一个新用户
Employee ee=null;
public EmpManage()
{
try {
FileInputStream fis=new FileInputStream("data.ser");
ObjectInputStream ois=new ObjectInputStream(fis);
ee= (Employee)ois.readObject();
while(ee!=null)
{
al.add(ee);
System.out.println(al.size());
ee= (Employee)ois.readObject();
System.out.println("此处安全");
}
System.out.println("此处安全");
ois.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addEmployee(Employee ee)
{
al.add(ee);
}
//通过员工号查找员工对应信息
public void findEmployee(String EmpNo)
{
for(int i=0;ial.size();i++)
{
if(((Employee)al.get(i)).getEmpNo().equals(EmpNo))
{
System.out.println("你所查找的用户已经查到 信息如下:");
System.out.println("姓名:"+((Employee)al.get(i)).getName());
System.out.println("工号:"+((Employee)al.get(i)).getEmpNo());
System.out.println("工资:"+((Employee)al.get(i)).getSalary());
}
}
}
public void saveFile() throws Exception
{
FileOutputStream fos=new FileOutputStream("data.ser");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int i=0;ial.size();i++)
{
Employee ee=(Employee) al.get(i);
oos.writeObject(ee);
System.out.println("保存成功");
}
oos.close();
}
//显示所有用户信息
public void allDisplay()
{
for(int i=0;ial.size();i++)
{
Employee ee=(Employee) al.get(i);
System.out.println("====================");
System.out.println("工号:"+ee.getEmpNo());
System.out.println("名字:"+ee.getName());
System.out.println("工资:"+ee.getSalary());
System.out.println("====================");
}
}
}
用Java编写一个员工类程序:1.属性:员工编号,员工姓名,基本工资,奖金,2.构造方法:至少两个。如下:
package com.test;
public class Employee {
/**
* 员工编号
*/
private String number;
/**
* 员工姓名
*/
private String name;
/**
* 员工薪水
*/
private double salary;
/**
* 无参数构造函数
*/
public Employee() {
}
/**
* 给属性赋值构造函数
* @param number
* @param name
* @param salary
*/
public Employee(String number, String name, double salary) {
super();
this.number = number;
this.name = name;
this.salary = salary;
}
public static void main(String[] args) {
//员工一,并且构造函数里设置值
Employee e1 = new Employee("e0001", "xiaoming", 5000.0);
System.out.println("员工一:" + e1);
//员工二,用set设置值,get的话可以获取到员工某个属性
Employee e2 = new Employee();
e2.setName("小二");
e2.setNumber("e0002");
e2.setSalary(5500.1);
System.out.println("员工二:" + e2);
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Employee [number=" + number + ", name=" + name + ", salary=" +
salary + "]";
}
}
运行结果:
员工一:Employee [number=e0001, name=xiaoming, salary=5000.0]
员工二:Employee [number=e0002, name=小二, salary=5500.1]
在外层迭代日期,
在Action中声明一个MapString,Object map
写好getter,setter
每条考勤记录都put进map中,把考勤记录的日期字符串yyyy-MM-dd作为key
将key和迭代的当前日期比较,如果一致就输出内容。
jsp页面如下代码:
有疑问再联系我!