您的位置:首页 > 编程语言 > Java开发

java访问数据库

2016-03-28 00:00 295 查看
摘要: java与数据库交流工具类、property配置文件

程序测试代码:
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();
// 最后使用完成,就关闭连接

}

@Test
public 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();

}

@Test
public 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();
}

@Test
public 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);
}
}

// 提供一个工厂方法,返回ocn
public 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=*****************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: