程序测试代码: package cn.demo;
import java.sql.Connection; import java.sql.DriverManager; 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 { Statement st = ConnUtils.getCon().createStatement(); System.err.println("数据操作对象:" + st);// oracle.jdbc.driver.OracleStatementWrapper@3884b2 // 4:执行SQL语句 String sql = "select * from stud"; ResultSet rs = st.executeQuery(sql); // 遍历结果集 while (rs.next()) { // 获取里面的数据 int id = rs.getInt(1);//数据库的查询,下标从1开始1=id String name = rs.getString(2); System.err.println(id + "," + name); } rs.close(); st.close(); // 最后使用完成,就关闭连接
}@Testpublic void testInsert() throws Exception { Statement st = ConnUtils.getCon().createStatement(); Scanner sc = new Scanner(System.in); String id = sc.nextLine(); String name = sc.nextLine(); // 声明Sql insert String sql = "insert into stud(id,name) values(" + id + ",'" + name + "')"; // 写入数据 int rows = st.executeUpdate(sql); System.err.println("影响行数 :" + rows); st.close();}@Testpublic void testDelete() throws Exception { Statement st = ConnUtils.getCon().createStatement(); 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();}@Testpublic void testUpdate() throws Exception { Statement st = ConnUtils.getCon().createStatement(); Scanner sc = new Scanner(System.in); String id = sc.nextLine(); 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 { Scanner sc = new Scanner(System.in); one: while (true) { String op = sc.nextLine(); switch (op) { case "query": testQuery(); break; case "delete": testDelete(); break; case "update": testUpdate(); break; case "insert": testInsert(); break; case "exit": break one; default: break; } }}
}
工具类:
package cn.utils;
import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties;
public class ConnUtils { // 1:声明一个唯一的连接 private static Connection con; // 2:在静态的代码块中只连接数据库一次 static { try { // 声明资源文件类 Properties prop = new Properties(); // 加载配置的文件 bin/jdbc.properties prop.load(ClassLoader.getSystemResourceAsStream("jdbc.properties")); // 获取里面的配置 String driver = prop.getProperty("qdq"); 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); } }
// 提供一个工厂方法,返回ocnpublic static Connection getCon() { return con;}
}
property配置文件: #qdq=oracle.jdbc.driver.OracleDriver #url=jdbc:oracle:thin:@192.168.56.1:1521/xe #name=scott #pwd=tiger
qdq=com.mysql.jdbc.Driver url=jdbc:mysql:///qlu?characterEncoding=UTF-8 name=root pwd=*****************