会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132360个问题

问题:老师用Oracle进行操作时,应该代码没有问题,因为插入操作能执行成功,但是遇到的问题是进行删除操作,console空值台什么也不显示,删除也失败了,再进行插入操作,此时插入操作也不成功,但console什么也不显示,(重启eclipse时,插入操作能够完成,但是一执行删除操作,则所有操作全不能进行了)这是什么原因?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo {
 private static final String URL= "jdbc:oracle:thin:@localhost:1521:ORCL";
 private static final String USERNAME ="BJSXT";
 private static final String PWD = "oracle"; 
 //实现增删改查
 public static void update() throws SQLException {
  Connection conn=null;
  Statement state=null;
  //a.导入驱动,加载具体的驱动类
  try {
   Class.forName("oracle.jdbc.OracleDriver");
   //b.与数据库进行连接
   conn = DriverManager.getConnection(URL,USERNAME,PWD);
   //发送sql,执行(增删改,查)
   state = conn.createStatement();
   //插入
   String sql="insert into T_USERS values(8,'WangYaXing',25)";
   
   //修改数据
   //String sql = "update T_USERS set name='李四' where id = 1;";
   
   //删除数据
  // String sql = "delete from T_USERS where name='WangYaXin'";
   
   //执行sql
   int count = state.executeUpdate(sql);
   //处理结果
   if(count>0) {
    System.out.println("操作成功!");
   }
   
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }catch(SQLException e) {
   e.printStackTrace();
  }finally {
   try {
    if(state!=null) {
     state.close(); //对象为空
    }
    if(conn!=null) {
     conn.close();
    }
    
   } catch (SQLException e) {
    // TODO: handle exception
    e.printStackTrace();
   }
  }
 }
 
 public static void main(String[] args) throws SQLException {
  update();
 }
}


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 1427楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 1428楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 1434楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 1436楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 1437楼

问题: 老师加了引号之后,还报错, Could not initialize class com.bjsxt.JdbcUtil,properities那个文件在src的里面


package com.bjsxt;
/**
 * JDBC工具类
 * @author
 *
 */
//获取Connection对象
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JdbcUtil {
 private static String driver;
 private static String jdbcUrl;
 private static String username;
 private static String userpassword;
 static {
   //读取Properties
   ResourceBundle bundle = ResourceBundle.getBundle("jdbc.driver");
   driver = bundle.getString("driver");
   jdbcUrl = bundle.getString("jdbcUrl");
   username = bundle.getString("username");
   userpassword = bundle.getString("userpassword");
   
   try {
    //数据库的驱动实例化出来
    Class.forName(driver);
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
 }
 
 //获取Connection对象的封装
 public static Connection getConnection() {
  Connection conn=null;
  try {
   //创建链接
  conn = DriverManager.getConnection(jdbcUrl,username,userpassword);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }
 //关闭Statement
 public static void closeStatement(Statement state) {
  
   try {
    if(state!=null) {
     state.close();
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  
 }
 //关闭Connection
 public static void closeConnection(Connection conn) {
  try {
   if(conn!=null) {
    conn.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 //关闭资源
 public static void closeResource(Statement state,Connection conn) {
  closeStatement(state);
  closeConnection(conn);
 }
}
package com.bjsxt;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcTest {
 
 //向Departments表中添加一条数据
 public void insertDepartments(String department_name,int location_id) {
  Connection conn = null;
  Statement state = null;
  try {
   //注册驱动  通过反射;//是为了加载类驱动,其实就是判断Driver类是否存在(有没有导包)
   //创建链接
   conn = JdbcUtil.getConnection();
   //执行sql
   String sql = "insert into departments values(default,'"+department_name+"',"+location_id+")";
      state = conn.createStatement();
   int flag = state.executeUpdate(sql);
   System.out.println(flag);
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally {
   JdbcUtil.closeStatement(state);
   JdbcUtil.closeConnection(conn);
  }
  
 }
 
 //更新department表中的department_id为6的数据,将部门名称修改为教学部,location_id修改为8
 public void updateDepartments(String department_name,int location_id,int department_id) {
  Connection conn = null;
  Statement state=null;
  try {
   conn = JdbcUtil.getConnection();
   state = conn.createStatement();
   //语句的处理,需要字符串的拼接
   String sql = "update departments d set d.department_name='"+department_name+"',d.location_id = "+location_id+" where d.department_id="+department_id+"";
   int flag = state.executeUpdate(sql);
   System.out.println(flag);
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }finally {
   JdbcUtil.closeResource(state, conn);
  }
 }
 
 public static void main(String[] args) {
  
  JdbcTest test = new JdbcTest();
 // test.insertDepartments("人力资源2", 10);
  
  test.updateDepartments("外联部", 5, 6);
 }
}
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username=root
userpassword=123456


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 1440楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637