使用java操作数据库时需要用到jdbc。
1、加载驱动 class forName("oracle.jdbc.driver.OracleDriver");
2、定义连接字符创
String url = "jdbc:oracle:thin:@192.168.50.128:1521:ORCL";
3、连接到数据库
Connection conn = DriverManager.getConnection(url, user,psw);
4、取得数据库sql语句的编译和执行对象
Statement stm = conn.createStatement();
5、定义要执行的sql语句
String readAll = "select empno,ename,sal,comm from emp";
6、执行sql语句
查询,可以获得结果集
ResultSet rs = stm.executeQuery(readAll);
更新
String sql2 = "update emp set comm = 700 where ename = 'SMITH'";
stm.executeUpdate(sql2);
注意事项:
如果不知道表结构,可以先进行查询(select * from emp);
for (int i = 0; i < rsd.getColumnCount(); i++) { System.out.println(rsd.getColumnName(i + 1)); System.out.println(rsd.getColumnType(i + 1)); }
查询完之后可以遍历打印查看结果:
while (rs.next()) { // 每次取得一行,用第一列进行标记 // System.out.println(rs.getInt("empno")); // System.out.println(rs.getInt(1)); int empno = rs.getInt(1); String ename = rs.getString(2); float sal = rs.getFloat(3); float comm = rs.getFloat(4); System.out.println(empno + "\t" + ename + "\t" + sal + "\t" + comm); }
java中的每一句操作都会自动提交,如果希望暂时不保存,可以使用
conn.setAutoCommit(false);
需要的时候再手动提交。
conn.commit();
sqlconnection.xml
<?xml version="1.0" encoding="utf-8"?> <sqlconnection> <sql id="oracle"> <url><![CDATA[jdbc:oracle:thin:@127.0.0.1:1521:ORCL]]></url> <driver><![CDATA[oracle.jdbc.driver.OracleDriver]]></driver> <user>test</user> <pwd>huangbin</pwd> </sql> </sqlconnection>
SqlConnection.java
package com.hb.jdbc; /** * 配置的对象 * * @author HuangBin * @2014年10月8日 */ public class SqlConnection { String id; String url; String driver; String user; String psw; public String toString() { return user + " " + psw; } }
Test.java
package com.hb.jdbc; import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; /** * 从xml文件中读到数据库的配置,并连接数据库更新部分数据 * * @author HuangBin * @2014年10月8日 */ public class Test { SqlConnection sc; public static void main(String[] args) { Test test = new Test(); test.parse(); test.connect(); } public void connect() { try { Class.forName(sc.driver); // 配置通过xml得到 Connection conn = DriverManager.getConnection(sc.url, sc.user, sc.psw); // 取得数据库sql语句的编译和执行对象 Statement stm = conn.createStatement(); // 定义要执行的sql语句 String sql = "select * from stu"; // 表名通过它得到 ResultSet rs = stm.executeQuery(sql); // 再遍历rs while (rs.next()) { // 每次取得一行,用第一列进行标记 int stuno = rs.getInt(1); String stuname = rs.getString(2); int stuage = rs.getInt(3); System.out.println(stuno + "\t" + stuname + "\t" + stuage); } conn.setAutoCommit(false); // 在这里面执行sql语句 // 例如,需要从smith工资转100给allen,需要等两次更新都完成才提交事物,否则,可能执行完第一句,第二句来不及执行, // 那么需要设置禁止自动提交,(那么就会自动回滚,不会更新数据库中的数据)。 conn.setAutoCommit(false); String sql2 = "update stu set stuname = 'lisi' where stuname = 'zhangsan'"; stm.executeUpdate(sql2); // 在这里模拟程序出错,如果出错,则上面那条不能生效 // int test = Integer.parseInt("aaaa"); String sql3 = "update stu set stuage = 20 where stuname = 'zhangsan'"; stm.executeUpdate(sql3); // 手动提交 conn.commit(); } catch (Exception e) { e.printStackTrace(); } } public void parse() { try { // 创建一个解析器工厂对象 SAXParserFactory factory = SAXParserFactory.newInstance(); // 创建sax解析器 SAXParser sax = factory.newSAXParser(); MyHander hander = new MyHander(); sax.parse(new FileInputStream(new File("sqlconnection.xml")), hander); } catch (Exception e) { e.printStackTrace(); } } class MyHander extends DefaultHandler { String strValue; public void startDocument() throws SAXException { } public void endDocument() throws SAXException { System.out.println(sc); } public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { // System.out.println("解析到一个元素:" + qName); if (qName.equals("sql")) { sc = new SqlConnection(); sc.id = atts.getValue("id"); } } public void endElement(String uri, String localName, String qName) throws SAXException { // System.out.println("元素结尾:" + qName); if (qName.equals("url")) { sc.url = strValue; } else if (qName.equals("driver")) { sc.driver = strValue; } else if (qName.equals("user")) { sc.user = strValue; } else if (qName.equals("pwd")) { sc.psw = strValue; } } public void characters(char[] ch, int start, int length) throws SAXException { strValue = new String(ch, start, length); // System.out.println(new String(ch, start, length)); } } }
相关推荐
本篇文章将深入探讨如何使用JDBC连接PG数据库,以及实现数据的增删改查操作。 首先,我们需要了解JDBC的基本概念。JDBC是Java程序访问数据库的一组接口和类,它允许开发者使用SQL语句来操作数据库。JDBC提供了一个...
### Java JDBC 连接数据库详解 #### 一、引言 在Java开发中,与数据库进行交互是一项非常常见的任务。JDBC(Java Database Connectivity)是Java中用来对关系型数据库进行统一访问的标准API,它为Java应用程序提供...
Java JDBC 连接数据库实例 通用度稍好
功能介绍: 需手动导入驱动包mysql-connector-java-...JdbcSingleUtils.java 是单利模式创建连接对象 JdbcUtils.java 静态类方式创建连接对象 注意数据库连接账户密码 包内有anbyke.sql数据库文件 运行方法: 简单...
Java使用JDBC(Java Database Connectivity)来连接Oracle数据库是一个常见的任务,它允许Java应用程序与各种数据库进行交互。在本场景中,`ojdbc6.jar`是Oracle提供的JDBC驱动程序,用于建立Java应用程序与Oracle...
JDBC连接数据库的基本步骤包括: 1. 加载数据库驱动:`Class.forName(driverClassName);` 2. 创建数据库连接:`Connection conn = DriverManager.getConnection(url, username, password);` 3. 获取Statement或...
Java JDBC 数据库连接池总结 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。在 Web 应用开发的早期,主要使用的技术是 CGIASPPHP 等。之后,Sun 公司推出了基于 Java 语言的 ...
jdbc java 数据库 连接数据库 步骤
Java JDBC 连接数据库代码大全 JDBC(Java Database Connectivity)是一种可以执行 SQL 的 Java API,通过它可以用一种 API 操作不同的数据库。 JDBC 驱动是不同数据库之间的桥梁,将 JDBC 调用映射成特定的数据库...
Java JDBC封装类,带增删改查例子,支持oracle,MySql,hsqldb 等,支持事务,返回数据格式 支持二维数组,MAP格式,以及javabean对象。有利于初学者DbDemo.java为demo,Connect为jdbc封装类,可以作为项目共通类使用。
Java中JDBC连接数据库详解 Java中JDBC连接数据库详解是指Java程序使用JDBC(Java Database Connectivity)来连接和操作数据库的过程。JDBC是一种Java API,用于连接和操作数据库,它提供了一套标准化的接口,允许...
Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出到 CSV 文件是一种常见的数据交换格式,它可以被...
java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC...
Java JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,它提供了标准的方法来创建、管理以及关闭数据库连接。本压缩包包含的三个文件分别对应于Oracle、MySQL和...
总结了Java 连接sqlserver数据库时出现的问题的解决办法。有jdbc 的jar包。希望可以帮到大家
JDBC(Java Database Connectivity)是 Java 语言中用于连接数据库的标准 API。它提供了一种统一的方式来访问各种类型的数据库,包括关系数据库、对象数据库和文本数据库等。下面是 JDBC 连接数据库的详细方法文档。...
在这个名为“使用java,jdbc连接数据库和Java swing图形化界面完成一个商品管理系统.zip”的压缩包中,包含了使用Java编程语言,结合JDBC(Java Database Connectivity)接口与MySQL数据库,以及利用Java Swing构建...
Java JDBC 数据库连接池总结 Java JDBC 数据库连接池是 Java 应用程序访问数据库的基本原理之一。Java 语言通过 JDBC 技术访问数据库,JDBC 是一种“开放”的方案,为数据库应用开发人员和数据库前台工具开发人员...