使用jdbc连接mysql数据库代码示例

举报
穆雄雄 发表于 2022/12/08 21:53:47 2022/12/08
【摘要】 ​编辑大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。最近,正好在看jdbc,于是就整理了一份增删改查的案例,记录记录,以备后用!!java编辑器:myeclipse![10](G:\公众号运营\雄雄老师\雄雄老师\10.png)![10](G:\公众号运营\雄雄老师\雄雄老师\10.png) 10.5数据库:mysqljdk版本:1.8首先,我们先来看看数据表的设计结构图:​编辑ima...

​编辑

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

最近,正好在看jdbc,于是就整理了一份增删改查的案例,记录记录,以备后用!!

java编辑器:myeclipse![10](G:\公众号运营\雄雄老师\雄雄老师\10.png)![10](G:\公众号运营\雄雄老师\雄雄老师\10.png) 10.5

数据库:mysql

jdk版本:1.8

首先,我们先来看看数据表的设计结构图:

​编辑

image-20210914172557109

列说明:

empno:员工编号

empName:姓名

age:年龄

salary:工资

deptNo:部门编号

在写功能方法之前,我们需要声明几个变量,分别是Connection(连接数据库)、PreparedStatement(执行sql语句)、ResultSet(结果集)对象。

 static Connection conn = null;   //连接对象
 static PreparedStatement pre = null; //sql操作
 static ResultSet rs = null;   //结果集

连接数据库操作的方法

public static Connection getConnection(){
  //加载驱动
  String driver = "com.mysql.cj.jdbc.Driver";
  try {
   Class.forName(driver);
   //创建连接
   String url = "jdbc:mysql://localhost:3306/empdb";
   String uname = "dblog";
   String pass = "root";
   conn = DriverManager.getConnection(url,uname,pass);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return conn;
 }

此方法就是作为一个通用方法,在实现其他功能的时候,不需要在编写一遍,只需在用到的时候调用即可,大大减少代码量,提高开发效率。

关闭各个对象的方法

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

新增员工

 public static void AddEmp(){
  conn = getConnection();
  String sql = "insert into emp (empname,age,salary,deptno) values(?,?,?,?)";
  try {
   pre = conn.prepareStatement(sql);
   pre.setObject(1,"范啸天");
   pre.setObject(2,20);
   pre.setObject(3,3000);
   pre.setObject(4,101);
   int rel = pre.executeUpdate();
   if(rel>0){
    System.out.println("成功");
   }else{
    System.out.println("失败");
   }
   CloseConnection(rs, pre, conn);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
  
 }

修改员工信息

//范啸天改成王炎霸
 public static void UpdateEmp(){
  conn = getConnection();
  String sql = "update emp set empname = ? where empname = ?";
  try {
   pre = conn.prepareStatement(sql);
   pre.setObject(1,"王炎霸");
   pre.setObject(2,"范啸天");
   int rel = pre.executeUpdate();
   if(rel>0){
    System.out.println("修改成功");
   }else{
    System.out.println("修改失败");
   }
   CloseConnection(rs, pre, conn);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
 }

删除员工信息

public static void delEmp(){
  String sql = "delete from emp where empname = ?";
  //连接数据库的方法
  conn = getConnection();
  try {
   pre = conn.prepareStatement(sql);
   pre.setString(1,"王炎霸");
   int rel= pre.executeUpdate();
   if(rel>0){
    System.out.println("成功");
   }else{
    System.out.println("失败");
   }
   CloseConnection(rs, pre, conn);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
  
 }

查询所有员工信息

public static void FindEmp(){
  //连接数据库
  conn = getConnection();
  //写sql语句
  String sql = "select * from emp";
  //执行sql
  try {
   pre = conn.prepareStatement(sql);
   rs = pre.executeQuery();
   System.out.println("编号\t姓名\t年龄\t工资\t部门编号");
   while(rs.next()){
    System.out.print(rs.getInt(1)+"\t");
    System.out.print(rs.getString(2)+"\t");
    System.out.print(rs.getInt("age")+"\t");
    System.out.print(rs.getDouble(4)+"\t");
    System.out.println(rs.getInt(5)+"\t");
   }
   CloseConnection(rs, pre, conn);
   
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
 }

根据编号查询员工信息

public static void FindEmpById(){
  conn = getConnection();
  String sql = "select * from emp where empno = ?";
  try {
   pre = conn.prepareStatement(sql);
   pre.setObject(1,1);
   rs = pre.executeQuery();
   System.out.println("编号\t姓名\t年龄\t工资\t部门编号");
   while(rs.next()){
    System.out.print(rs.getObject(1)+"\t");
    System.out.print(rs.getObject(2)+"\t");
    System.out.print(rs.getObject(3)+"\t");
    System.out.print(rs.getObject(4)+"\t");
    System.out.println(rs.getObject(5));
   }
   CloseConnection(rs, pre, conn);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
 }

今天分享的内容就这些啦,欢迎点赞、留言、和转发!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。