
实现用java访问oracle数据库:
准备工作:
1下载驱动,打开浏览器,搜索oracle数据库驱动,进入下载页面下载即可;
2将驱动导入到项目中。
用java访问oracle数据库代码实现:
try {
ClassforName("oraclejdbcdriverOracleDriver"); //加载驱动
//与数据库建立连接
try {
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "scott"; //用户名
String password = "tiger"; //密码
conn=DriverManagergetConnection(url,username,password);
} catch (SQLException e) {
eprintStackTrace();
}
} catch (ClassNotFoundException e) {
eprintStackTrace();
}
String s strURL="jdbc:odbc:student"; // 数据库标识名, 其中student为我们数据库的名字
String user;//数据库的登录名
String password;//数据库的登录密码
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection conn=DriverManagergetConnection(strURL,user,password); //获取连接
Statement stmt = conncreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,
ResultSetCONCUR_UPDATABLE);//可滚动的
我再给你添加这种odbc的连接方式,即先用odbc数据源管理将数据库添加为用户数据源,程序连接的时候连接数据源就行,因为有的数据库需要专门的调用驱动,安装和调试不易,所以用odbc做一个中转,请结合参考资料理解
这几种就是java连接各类常用数据库的方法了
package test;
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import orgh2toolsServer;
public class H2Demo {
private Server server;
private String port = "9094";
private String dbDir = "/h2db/sample";
private String user = "zhoujiang";
private String password = "123456";
public void startServer() {
try {
Systemoutprintln("正在启动h2");
server = ServercreateTcpServer(
new String[] { "-tcpPort", port })start();
} catch (SQLException e) {
Systemoutprintln("启动h2出错:" + etoString());
// TODO Auto-generated catch block
eprintStackTrace();
throw new RuntimeException(e);
}
}
public void stopServer() {
if (server != null) {
Systemoutprintln("正在关闭h2");
serverstop();
Systemoutprintln("关闭成功");
}
}
public void useH2() {
try {
ClassforName("orgh2Driver");
Connection conn = DriverManagergetConnection("jdbc:h2:" + dbDir,
user, password);
Statement stat = conncreateStatement();
// insert data
statexecute("CREATE TABLE TEST(NAME VARCHAR)");
statexecute("INSERT INTO TEST VALUES('Hello World')");
// use data
ResultSet result = statexecuteQuery("select name from test ");
int i = 1;
while (resultnext()) {
Systemoutprintln(i++ + ":" + resultgetString("name"));
}
resultclose();
statclose();
connclose();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
public static void main(String[] args) {
H2Demo h2 = new H2Demo();
h2startServer();
h2useH2();
h2stopServer();
Systemoutprintln("==END==");
}
}
import javasql;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "commysqljdbcDriver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
ClassforName(driver);
//1getConnection()方法,连接MySQL数据库!!
con = DriverManagergetConnection(url,user,password);
if(!conisClosed())
Systemoutprintln("Succeeded connecting to the Database!");
//2创建statement类对象,用来执行SQL语句!!
Statement statement = concreateStatement();
//要执行的SQL语句
String sql = "select from student";
//3ResultSet类,用来存放获取的结果集!!
ResultSet rs = statementexecuteQuery(sql);
Systemoutprintln("-----------------");
Systemoutprintln("执行结果如下所示:");
Systemoutprintln("-----------------");
Systemoutprintln(" 学号" + "\t" + " 姓名");
Systemoutprintln("-----------------");
String name = null;
String id = null;
while(rsnext()){
//获取stuname这列数据
name = rsgetString("stuname");
//获取stuid这列数据
id = rsgetString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
//输出结果
Systemoutprintln(id + "\t" + name);
}
rsclose();
conclose();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
Systemoutprintln("Sorry,can`t find the Driver!");
eprintStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
eprintStackTrace();
}catch (Exception e) {
// TODO: handle exception
eprintStackTrace();
}finally{
Systemoutprintln("数据库数据成功获取!!");
}
}
}
在上面while代码段后面添加以下代码段:
String name = null;
String id = null;
while(rsnext()){
//获取stuname这列数据
name = rsgetString("stuname");
//获取stuid这列数据
id = rsgetString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
//输出结果
Systemoutprintln(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
//预处理添加数据,其中有两个参数--“?”
psql = conprepareStatement("insert into student values(,)");
psqlsetInt(1, 8); //设置参数1,创建id为5的数据
psqlsetString(2, "xiaogang"); //设置参数2,name 为小明
psqlexecuteUpdate(); //执行更新
//预处理更新(修改)数据
psql = conprepareStatement("update student set stuname = where stuid = ");
psqlsetString(1,"xiaowang"); //设置参数1,将name改为王五
psqlsetInt(2,10); //设置参数2,将id为2的数据做修改
psqlexecuteUpdate();
//预处理删除数据
psql = conprepareStatement("delete from student where stuid = ");
psqlsetInt(1, 5);
psqlexecuteUpdate();
//查询修改数据后student表中的数据
psql = conprepareStatement("selectfrom student");
res = psqlexecuteQuery(); //执行预处理sql语句
Systemoutprintln("执行增加、修改、删除后的数据");
while(resnext()){
name = resgetString("stuname");
id = resgetString("stuid");
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
Systemoutprintln(id + "\t" + name);
}
resclose();
psqlclose();
以上就是关于怎么实现用java访问oracle数据库全部的内容,包括:怎么实现用java访问oracle数据库、怎么使用JAVA连接数据库、如何用Java程序启动H2数据库(完整代码)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)