使用java代码实现对数据库表的增删查改
配置为oracle数据库无问题 配置为mysql数据库出现如下问题
源码如下:
package cn.ricey;
//import java.sql.Connection;
import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner;
import org.junit.Test;
import cn.utils.ConnUtils;
public class Demo01 { @Test
public void testQuery() throws Exception { /**Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost :1521/xe"; Connection con = DriverManager.getConnection(url, "wong", "1234");
System.err.println("测试连接是否成功:" + con); Statement st = con.createStatement();*/
Statement st=ConnUtils.getCon().createStatement(); System.err.println("数据操作对象:" + st); String sql = "select * from stud"; ResultSet rs = st.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.err.println(id + "," + name);
} rs.close(); st.close();
}
@Test
public void testInsert() throws Exception { Statement st=ConnUtils.getCon().createStatement(); Scanner sc = new Scanner(System.in); System.err.println("请输入要写入的id"); String id = sc.nextLine(); System.err.println("请输入要写入的name"); String name = sc.nextLine();
String sql = "insert into stud values('" + name+ "','" + id + "')"; int rows = st.executeUpdate(sql); System.err.println("影响行数:" + rows); st.close();
}
@Test
public void testDelete() throws Exception { Statement st=ConnUtils.getCon().createStatement(); System.err.println("请输入要删除的id"); Scanner sc = new Scanner(System.in); String id = sc.nextLine();
// 声明Sql insert String sql = "delete from stud where id=" + id; // 写入数据 int rows = st.executeUpdate(sql); System.err.println("影响行数 :" + rows); st.close();
}
@Test
public void testUpdate() throws Exception { Statement st=ConnUtils.getCon().createStatement(); Scanner sc = new Scanner(System.in); System.err.println("请输入要更新的id"); String id = sc.nextLine(); System.err.println("请输入要更新的name"); String name = sc.nextLine(); // 声明Sql insert String sql = "update stud set name='"+ name +"' where id=" + id; // 写入数据 int rows = st.executeUpdate(sql); System.err.println("影响行数 :" + rows); st.close();
}
public static void main(String[] args) throws Exception { new Demo01(); }
public Demo01() throws Exception {
System.err.println("1.query\n2.delete\n3.update\n4.insert\n5.exit"); Scanner sc = new Scanner(System.in); one: while (true) { String op = sc.nextLine(); switch (op) { case "1": testQuery(); break; case "2": testDelete(); break; case "3": testUpdate(); break; case "4": testInsert(); break; case "5": break one; default: break; } } }
}
工具类
package cn.utils;
import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties;
public class ConnUtils { private static Connection con;
static { try { Properties prop = new Properties(); prop.load(ClassLoader.getSystemResourceAsStream("jdbc.properties")); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); String name = prop.getProperty("name"); String pwd = prop.getProperty("pwd");
Class.forName(driver); con = DriverManager.getConnection(url, name, pwd); } catch (Exception e) { throw new RuntimeException(e); }
} public static Connection getCon(){ return con; } }
配置文件
#driver=oracle.jdbc.driver.OracleDriver #url=jdbc:oracle:thin:@localhost:1521/xe #name=wong #pwd=1234
driver=com.mysql.jdbc.Driver url=jdbc:mysql:///qlu?characterEncoding=UTF-8 name=root pwd=1234
首先无法加载类和数据库没关系
方法:1:99.9% 是环境变量没有配置好 ######这个问题已经解决了 是因为我配置文件时未关闭运行的程序导致bin文件夹下的配置文件被占用,无法更改,文件不匹配
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。