1.操作DML
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TestDML { public static void main(String[] args) { // Statement stmt = null; PreparedStatement pstmt = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/mydata", "root", "root"); // stmt = conn.createStatement(); // String sql = "insert into dept values (60, 'F', 'F')"; // stmt.executeUpdate(sql); pstmt = conn.prepareStatement("insert into dept values (?, ?, ?)"); pstmt.setInt(1, 70); pstmt.setString(2, "G"); pstmt.setString(3, "G"); pstmt.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { // if (stmt != null) { // stmt.close(); // stmt = null; // } if (pstmt != null) { pstmt.close(); pstmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
2.调用存储过程
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Types; public class TestProc { public static void main(String[] args) { CallableStatement cstmt = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/mydata", "root", "root"); // p (v_a in number, v_b number, v_c out number, v_d in out number) cstmt = conn.prepareCall("(call p(?, ?, ?, ?))"); // 指定第三个和第四个是输出参数 cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); // 给输入参数赋值 cstmt.setInt(1, 30); cstmt.setInt(2, 40); cstmt.setInt(4, 50); cstmt.execute(); System.out.println(cstmt.getInt(3) + " " + cstmt.getInt(4)); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (cstmt != null) { cstmt.close(); cstmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
3.batch批处理
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; /** * 这里面做了事务的管理,共五步骤[不要求代码严谨的话,可以不要这五步骤] * */ public class TestBatch { public static void main(String[] args) { // Statement stmt = null; PreparedStatement pstmt = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/mydata", "root", "root"); conn.setAutoCommit(false);// 1.设置不自动提交 // stmt = conn.createStatement(); // stmt.addBatch("insert into dept values (80, 'H', 'H')"); // stmt.addBatch("insert into dept values (90, 'I', 'I')"); // stmt.addBatch("insert into dept values (100, 'J', 'J')"); // stmt.executeBatch(); pstmt = conn.prepareStatement("insert into dept values (?, ?, ?)"); pstmt.setInt(1, 110); pstmt.setString(2, "K"); pstmt.setString(3, "K"); pstmt.addBatch(); pstmt.setInt(1, 120); pstmt.setString(2, "L"); pstmt.setString(3, "L"); pstmt.addBatch(); pstmt.setInt(1, 130); pstmt.setString(2, "M"); pstmt.setString(3, "M"); pstmt.addBatch(); pstmt.executeBatch(); conn.commit();// 2.手动提交 conn.setAutoCommit(true);// 3.回复自动提交 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); try { if (conn != null) { conn.rollback();// 4.回滚事务 conn.setAutoCommit(true);// 5.回复自动提交 } } catch (SQLException e1) { e1.printStackTrace(); } } finally { try { // if (stmt != null) { // stmt.close(); // stmt = null; // } if (pstmt != null) { pstmt.close(); pstmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
4.可滚动的结果集
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class TestScroll { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/mydata", "root", "root"); // 可滚动的结果集[对于滚动不敏感,并且只读] stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery("select * from dept"); rs.next();// 结果集向后移一位 System.out.println(rs.getString("dname") + " " + rs.getInt("deptno")); rs.last();// 结果集定位到最后一位 System.out.println(rs.getString("dname") + " " + rs.getInt("deptno")); System.out.println(rs.isLast());// 是否最后一条 System.out.println(rs.isAfterLast());// 是否最后的下一条 System.out.println(rs.getRow());// 当前在哪个位置 rs.previous();// 结果集向前移一位 System.out.println(rs.getString("dname") + " " + rs.getInt("deptno")); rs.absolute(6);// 定位结果集到第六位 System.out.println(rs.getString("dname") + " " + rs.getInt("deptno")); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
5.可更新的结果集
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * mysql支持可更新的结果集,而oracle不支持 * */ public class TestUpdateResultSet { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/mydata", "root", "root"); stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery("select * from dept"); rs.next(); // 更新一条数据 rs.updateString("dname", "AAAAA"); rs.updateRow(); // 插入一条数 rs.moveToInsertRow(); rs.updateInt("deptno", 140); rs.updateString("dname", "N"); rs.updateString("loc", "N"); rs.insertRow(); // 将光标移到新建的行 rs.moveToCurrentRow(); // 删除第六行 rs.absolute(6); rs.deleteRow(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
相关推荐
一些java操作数据库的代码演示,数据库采用基础的access数据库,包括增加删除、查找和修改。里面有jdbc预处理以及一些2.0以后增加的新的特性支持。适合初学者学习。例子比较简单都是基础的带main方法的,可以直接...
JAVA操作数据库HIBERNATE MYBATIS JDBC JAVA ORACLE MYSQL
"JAVA操作数据库三层"是指使用Java语言设计的一种常见的软件架构模式,即MVC(Model-View-Controller)模型,通常用于构建数据库驱动的应用程序。在这个架构中,三层分别是表现层(View)、业务逻辑层(Controller/...
在这个名为"JAVA操作数据库模板代码"的压缩包中,我们有两个关键文件:`ConnToDB.java`和`DBConf.properties`。这两个文件共同构成了一个简单的JDBC数据库操作模板。 首先,`DBConf.properties`文件是配置文件,...
【Java操作数据库实验】主要涉及Java编程语言与数据库交互的基础知识,通过设计和实现一个学生管理数据库应用软件,让学生理解数据库应用软件的构建过程,并掌握Java GUI编程、JDBC连接和数据库操作。以下是对这些...
java操作数据库及文件的简单工具;java操作数据库及文件的简单工具;java操作数据库及文件的简单工具; 数据迁移的时候,自己写的。在这里保存一份,以便以后使用。 因为简单,所以强大
java 操作数据库 3实例 (三种不同数据库操作增删改查) 1.实际用到什么数据库替换相应的JDBC驱动包 2.已经封装接口增删改查 3.表结构在项目txt文本中,对应的驱动链接Driver_comment.txt中有说明
简单的实现增删改,适合初学者,无框架,简单的熟悉java与数据库的操作
用java访问数据库,以及数据库中存储过程的应用,JDBC的应用
JDBC 允许开发者使用 Java 语言来操作数据库,执行 SQL 语句,查询数据等。 为什么需要 Jar 包? Jar 包是 Java 项目中用来存放类库和资源文件的存档文件。 在 Java 项目中,我们需要将 MySQL 的 Jar 包导入到项目...
本文阐述了Java数据库操作的基本流程,介绍了几个常用的重要操作技巧。
### Java多线程操作数据库:深入解析与应用 在当今高度并发的应用环境中,Java多线程技术被广泛应用于处理数据库操作,以提升系统的响应速度和处理能力。本文将基于一个具体的Java多线程操作数据库的应用程序,深入...
本文使用java中的反射技术,对DML和DQL进行封装,使的对数据库的CRUD操作更加简洁明了,只需调用函数即可完成所要执行的功能。并且使用.properties对数据库的配置进行了分离,采用dao,entity,utils等简单的命名规范...
在这个主题中,"java界面操作数据库" 主要涉及如何利用Java的图形用户界面(GUI)库来设计可视化界面,以及如何利用Java的数据访问技术如JDBC(Java Database Connectivity)来执行数据库的增删改查操作。...
神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通...
Java数据库驱动包是Java应用程序与各种数据库之间进行通信的关键组件。在Java中,JDBC(Java Database Connectivity)是一个标准API,允许程序员用Java语言来访问和处理存储在各种数据库中的数据。这个压缩包包含了...
使用这些驱动,你可以编写Java代码来执行Oracle数据库的查询和其他操作。 2. **mysql-connector-java-5.1.7-bin.jar** 是MySQL的JDBC驱动,用于连接MySQL数据库。这个版本是5.1系列中的一个,支持MySQL 5.1.x版本。...
Java数据库编程通常涉及到与数据库...总的来说,Navicat for MySQL是Java数据库开发中不可或缺的一款实用软件,它提供了全面的数据库管理和开发功能,让Java程序员能够更加专注于业务逻辑,而不是基础的数据库操作。
java连接PI数据库查询修改的列子