通过eclipse访问数据库中的表,并对其实现查询、增加、修改、删除等操作。

原创 2018年04月17日 21:40:42

“`
package com.lq.emp.main;

import com.lq.emp.service.EmpService;
//程序入口
public class AppMain {

    public static void main(String[] args) {
        while(true) {
            new EmpService().start();
        }
    }

}

package com.lq.emp.service;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Scanner;

import com.lq.emp.dao.EmpDAO;
import com.lq.emp.domain.emp;
//提供系统所需功能。
public class EmpService {
private Scanner sc=new Scanner(System.in);
private EmpDAO edao=new EmpDAO();
//add()方法实现添加员工信息的功能
private void add() {
System.out.println(“编号:”);
int empno=sc.nextInt();

    System.out.println("姓名:");
    String ename=sc.next();

    System.out.println("工作:");
    String job=sc.next();
    System.out.println("经理编号:");
    int mgr=sc.nextInt();
    System.out.println("入职日期:");
    String hiredate=sc.next();  
    System.out.println("工资:");
    int sal=sc.nextInt();
    System.out.println("奖金:");
    int comm=sc.nextInt();
    System.out.println("部门编号:");
    int deptno=sc.nextInt();
   emp e=new emp();
   e.setComm(comm);
   e.setDeptno(deptno);
   e.setEmpno(empno);
   e.setEname(ename);
   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
   try {
    e.setHiredate(sdf.parse(hiredate));  
} catch (ParseException e1) {
    e1.printStackTrace();
}
   e.setJob(job);
   e.setMgr(mgr);
   e.setSal(sal);
   //调用dao完成数据库操作
   boolean b=edao.add(e);
   //反馈操作结果给用户
   if(b) {
       System.out.println("添加员工成功!!");
   }else {
       System.out.println("添加员工失败!!");
   }
 }
 ![原数据库数据](https://img-blog.csdn.net/20180417213039236?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2QxNTAzNjI0MDIwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
 ![往数据库添加数据](https://img-blog.csdn.net/20180417213333469?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2QxNTAzNjI0MDIwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
 ![添加后的数据库](https://img-blog.csdn.net/20180417213428613?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2QxNTAzNjI0MDIwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
//实现通过员工编号来修改员工信息
 private void alter() {
     int b1=0;
     System.out.println("请输入你想要修改员工的编号:");
     int empno=sc.nextInt();
     System.out.println("请输入你想修改的内容:");
     String x=sc.next();
     //在数据库的表中,有的列的值是数字,有的列的值是字符串,所以通过判断所要修改的列的值的类型,提供不同修改的方法。
     if("ename" .equals(x) || "job".equals(x)||"hiredate".equals(x)) {
         System.out.println("请输入修改后的值:");
         String y=sc.next(); 
        b1= new EmpDAO().alter(empno,x,y);
     }else if("empno".equals(x)||"mgr".equals(x)||"sal".equals(x)||"comm".equals(x)||"deptno".equals(x)) {
         System.out.println("请输入修改后的值:");
         int y=sc.nextInt();
          b1= new EmpDAO().alter(empno,x,y);
     }else {
         System.out.println("所选内容不存在!!");
     }

     if(b1==1) {
         System.out.println("修改成功!!");
     }else {
         System.out.println("修改失败!!");
     }

}
修改前的数据库
修改后的数据库
//实现删除员工信息的功能。
private void delete() {
System.out.println(“请输入你想要删除员工的编号:”);
int empno =sc.nextInt();
boolean b= new EmpDAO().delete(empno);
if(b) {
System.out.println(“删除员工成功!!”);
}else {
System.out.println(“删除员工失败!!”);
}
}
删除前的数据库
删除员工号为7786的员工后的数据库
//该方法用来调用菜单和选择操作的方法。
public void start() {
menu();
int op=sc.nextInt();
doOp(op);

}
//该方法是通过获取用户所需使用功能的编号来实现对应的功能
private void doOp(int op) {

        switch (op) {
        case 1:
             add();
            break;
        case 2:
            alter();
            break;
        case 3:
            delete();
            break;
        case 4:
            System.out.println("请输入所要查询员工的编号:");
            int empno=sc.nextInt();
            List<emp> l1=new EmpDAO().querry(empno);
            if (l1.isEmpty()) {
                System.out.println("所查询员工不存在!!!");
            }else {
            for (emp emp : l1) {

                System.out.println("编号:"+emp.getEmpno()+"。姓名:"+emp.getEname()+"。工作:"+emp.getJob()+"。经理编号:"+emp.getMgr()+"。入职日期:"+emp.getHiredate()+"。工资:"
                        +emp.getSal()+"。部门编号:"+emp.getDeptno());
                }
            }
            break ;
        case 5:
        List<emp> l=new EmpDAO().queryALL();
    for (emp emp : l) {
        System.out.println("编号:"+emp.getEmpno()+"。姓名:"+emp.getEname()+"。工作:"+emp.getJob()+"。经理编号:"+emp.getMgr()+"。入职日期:"+emp.getHiredate()+"。工资:"
                +emp.getSal()+"。部门编号:"+emp.getDeptno());
    }
            break;
        case 6:
            System.out.println("退出成功!!!");
            System.exit(0);
        default:
            System.out.println("系统没有提供此功能!!!");
            break;
        }
}

//打印菜单
菜单
private void menu() {
System.out.println(“**************************************”);
System.out.println(“\t\t\t欢迎使用本系统!!!”);
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(“6.退出系统”);
}
}

package com.lq.emp.dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.lq.emp.domain.emp;
import com.lq.emp.until.DBUtil;
//专门操作数据库的对象。
public final class EmpDAO {
private Connection conn;
private PreparedStatement pst;
private ResultSet rs;
//实现增加功能的具体代码
public boolean add(emp e) {
try {
conn=DBUtil.opeanConn();
pst=conn.prepareStatement(“insert into myemp values(?,?,?,?,?,?,?,?)”);
pst.setInt(1, e.getEmpno());
pst.setString(2, e.getEname());
pst.setString(3, e.getJob());
pst.setInt(4, e.getMgr());
pst.setDate(5, new Date(e.getHiredate().getTime()));//emp(util).getTime()—>long
pst.setInt(6, e.getSal());
pst.setInt(7, e.getComm());
pst.setInt(8, e.getDeptno());
pst.executeUpdate();
return true;
} catch (SQLException e1) {
e1.printStackTrace();
}finally {
DBUtil.close(pst, conn);
}
return false;
}
//通过判断不同的类型而调用不同的方法。
public int alter(int empno,String x,String y) {
int a=0;
try {
conn=DBUtil.opeanConn();
Statement stm=conn.createStatement();

        a=stm.executeUpdate("Update myemp set "+x+"="+"'"+y+"'"+" where "+"empno="+empno);
        return a;

    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        DBUtil.close(conn);
    }
    return a;

}
public int alter(int empno,String x,int y) {
    int a=0;
    try {
        conn=DBUtil.opeanConn();
        Statement stm=conn.createStatement();
        a=stm.executeUpdate("Update myemp set "+x+"="+y+" where empno="+empno);
        return a;
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        DBUtil.close(conn);
    }
    return a;

}
//通过员工编号来删除员工信息。
public boolean delete(int empno) {
    try {
        int x=0;

        conn=DBUtil.opeanConn();
        Statement stm=conn.createStatement();
        x=stm.executeUpdate("delete myemp where empno="+empno);
        if (x==1) {
            return true;
        }

    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        DBUtil.close(conn);
    }

    return false;

}
//通过员工编号来查询一个信息,并将结果以list<emp> 的形式返回。
public List<emp> querry(int empno) {
    List<emp> elist1 =new ArrayList<>();
    try {

        conn=DBUtil.opeanConn();
        pst=conn.prepareStatement("select * from myemp where empno="+empno);
        rs=pst.executeQuery();
        while(rs.next()) {
            emp e=new emp();
            e.setComm(rs.getInt("comm"));
            e.setDeptno(rs.getInt("deptno"));
            e.setEmpno(rs.getInt("empno"));
            e.setEname(rs.getString("ename"));
            e.setHiredate(rs.getDate("hiredate"));
            e.setJob(rs.getString("job"));
            e.setMgr(rs.getInt("mgr"));
            e.setSal(rs.getInt("sal"));
            elist1.add(e);
        }

    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        DBUtil.close(rs, pst, conn);
    }
    return elist1;

}
//查询表中所有内容

public List queryALL(){

    List<emp> elist=new ArrayList<>();
    try {
        conn=DBUtil.opeanConn();
        pst=conn.prepareStatement("select * from myemp");
        rs=pst.executeQuery();
        while(rs.next()) {
            emp e=new emp();
            e.setComm(rs.getInt("comm"));
            e.setDeptno(rs.getInt("deptno"));
            e.setEmpno(rs.getInt("empno"));
            e.setEname(rs.getString("ename"));
            e.setHiredate(rs.getDate("hiredate"));
            e.setJob(rs.getString("job"));
            e.setMgr(rs.getInt("mgr"));
            e.setSal(rs.getInt("sal"));
            elist.add(e);
        }
    }  catch (SQLException e) {
        e.printStackTrace();
    }finally {
        DBUtil.close(rs, pst, conn);
    }

    return elist;

}

}

“`package com.lq.emp.domain;

import java.util.Date;

public class emp {

private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private int sal;
private int comm;
private int deptno;

public int getEmpno() {
    return empno;
}
public void setEmpno(int empno) {
    this.empno = empno;
}
public String getEname() {
    return ename;
}
public void setEname(String ename) {
    this.ename = ename;
}
public String getJob() {
    return job;
}
public void setJob(String job) {
    this.job = job;
}
public int getMgr() {
    return mgr;
}
public void setMgr(int mgr) {
    this.mgr = mgr;
}
public Date getHiredate() {
    return hiredate;
}
public void setHiredate(Date hiredate) {
    this.hiredate = hiredate;
}
public int getSal() {
    return sal;
}
public void setSal(int sal) {
    this.sal = sal;
}
public int getComm() {
    return comm;
}
public void setComm(int comm) {
    this.comm = comm;
}
public int getDeptno() {
    return deptno;
}
public void setDeptno(int deptno) {
    this.deptno = deptno;
}

}

package com.lq.emp.until;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//工具类:实现连接数据库的功能
public class DBUtil {
static {
try {
Class.forName(“oracle.jdbc.driver.OracleDriver”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}
public static Connection opeanConn() throws SQLException {
return DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”,”scott”,”9867”);
}

public static void close(ResultSet rs,PreparedStatement pst,Connection conn) {
    if(rs!=null) {
        try {
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    if(pst!=null) {
        try {
            pst.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    if(conn!=null) {
        try {
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
public static void close(PreparedStatement pst,Connection conn) {
    close(null, pst, conn);
}
public static void close(Connection conn) {
    close(null, null, conn);
}

}

高效使用eclipse调试工具

本课程主要教会初学者如何高效使用eclipse调试自己开发的程序。如何一步一步跟踪程序的执行。
  • 2017年01月13日 22:25

eclipse(Java)对MySQL数据库进行连接、查询和修改

0. 一般过程:   (1) 调用Class.forName()方法加载驱动程序。   (2) 调用DriverManager对象的getConnection()方法,获得一个Connec...
  • vs_the_old_boy
  • vs_the_old_boy
  • 2016-09-20 15:17:52
  • 7202

Mysql中更改表名和数据库中的方法

Mysql中更改表名和数据库中的方法   2012-01-09 22:09:29|  分类: mysql |字号 订阅 mysql修改表名: alter table...
  • lcathm
  • lcathm
  • 2013-12-04 17:37:28
  • 1709

通过eclipse访问数据库中的表,并对其实现查询、增加、修改、删除等操作。

“` package com.lq.emp.main; import com.lq.emp.service.EmpService; //程序入口 public class AppMain ...
  • d15036240203
  • d15036240203
  • 2018-04-17 21:40:42
  • 22

eclipse+jdbc+mysql+statement实现数据库的增删改

一、数据库增加数据 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException...
  • yigehowo
  • yigehowo
  • 2017-07-23 20:22:22
  • 166

Java实现对mysql数据库的增删查改

前面我们已经讲过如何实现对mysql数据库的连接。最简单的数据库操作就是增删查改。 其实对懂得实现对数据库的连接,其余的,对于一些简单的操作都是很简单的。 查看数据 public static ...
  • zyq_hh
  • zyq_hh
  • 2016-06-14 17:30:45
  • 1648

<em>eclipse</em> jdbc驱动加载包

<em>eclipse</em>+jdbc+<em>mysql</em>+statement<em>实现</em>数据库的增删改 <em>eclipse</em> JDBC 连接<em>MySql</em> <em>Eclipse</em>使用JDBC方式连接SQLServer2016 <em>eclipse</em> jdbc驱动加载包 立即下载 上传者: gl871...
  • 2018年04月17日 00:00

java jdbc连接mysql数据库实现增删改查操作

这篇文章主要为大家详细介绍了java jdbc连接mysql数据库实现增删改查操作,需要的朋友可以参考下 jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西...
  • ss5131421
  • ss5131421
  • 2016-10-22 22:05:33
  • 1959

Eclipse中java向数据库中添加数据,更新数据,删除数据

前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据。 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) 1 package ...
  • Biexiansheng
  • Biexiansheng
  • 2017-03-07 14:24:02
  • 2134

MySQL存在时更新,否则新增

当参数与表中UNIQUE索引重复时执行update,否则执行insert,适用于批量处理 MySQL语句: INSERT INT table_name (field1_name,field...
  • sanzhongguren
  • sanzhongguren
  • 2017-07-10 17:01:27
  • 990
收藏助手
不良信息举报
您举报文章:通过eclipse访问数据库中的表,并对其实现查询、增加、修改、删除等操作。
举报原因:
原因补充:

(最多只允许输入30个字)