操作数据库基本代码:
package cloudnote; import java.sql.*; public class DB { public static Connection getConn() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost/cloudnote?user=root&password=yingjun&characterEncoding=utf-8"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 如果应用程序中的多次执行都要用到同一条sql语句,将使应用程序的效率明显降低,这时可以使用preparedStatement对象来解决。 * 此对象第一次执行的时候将sql语句传给数据库预编译,从而在以后执行这个sql语句时速度都能得到很大的提高。 * 建立的连接 * 要执行的sql语句 * @return */ public static PreparedStatement prepare(Connection conn, String sql) { PreparedStatement pstmt = null; try { if(conn != null) { pstmt = conn.prepareStatement(sql); } } catch (SQLException e) { e.printStackTrace(); } return pstmt; } //该对象能获取自动生成的键。给定常量告知驱动程序是否可以获取自动生成的键 public static PreparedStatement prepare(Connection conn, String sql, int autoGenereatedKeys) { PreparedStatement pstmt = null; try { if(conn != null) { pstmt = conn.prepareStatement(sql, autoGenereatedKeys); } } catch (SQLException e) { e.printStackTrace(); } return pstmt; } public static Statement getStatement(Connection conn) { Statement stmt = null; try { if(conn != null) { stmt = conn.createStatement(); } } catch (SQLException e) { e.printStackTrace(); } return stmt; } public static ResultSet getResultSet(Statement stmt, String sql) { ResultSet rs = null; try { if(stmt != null) { rs = stmt.executeQuery(sql); } } catch (SQLException e) { e.printStackTrace(); } return rs; } public static void close(ResultSet rs,Statement stmt,Connection conn) { 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(); } } }
//修改数据(PrepareStatement) String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); Connection conn =DB.getConn(); String sql = "insert into note(`title`,`content`,`time`,`username`) values('"+title+"','"+content+"','"+time+"','"+username+"')"; PreparedStatement pstmt=DB.prepare(conn,sql); pstmt.executeUpdate(); DB.close(null,pstmt,conn); //修改数据(Statement) String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); Connection conn =DB.getConn(); String sql = "insert into note(`title`,`content`,`time`,`username`) values('"+title+"','"+content+"','"+time+"','"+username+"')"; Statement stmt=DB.getStatement(conn); stmt.executeUpdate(sql); DB.close(null,stmt,conn);
//更新数据(PreparedStatement) Connection conn =DB.getConn(); String sql="select * from note where usernmae='"+username+"'"; PreparedStatement pstmt=DB.prepare(conn,sql); ResultSet rs=pstmt.executeQuery(); DB.close(rs,pstmt,conn); //更新数据(PreparedStatement) Connection conn =DB.getConn(); String sql="select * from note where usernmae='"+username+"'"; Statement stmt = DB.getStatement(conn); ResultSet rs=stmt.executeQuery(sql); DB.close(rs,stmt,conn);
preparedStatement和Statement 的区别:
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程
2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理,可以防止sql注入。
4.执行许多SQL语句的JDBC程序产生大量的Statement和PreparedStatement对象。通常认为PreparedStatement对象比Statement对象更有效,特别是如果带有不同参数的同一SQL语句被多次执行的时候。PreparedStatement对象允许数据库预编译SQL语句,这样在随后的运行中可以节省时间并增加代码的可读性。
相关推荐
Java+JDBC +mysql数据库 实现学生的增删改查等功能 可以选择 不同的功能来实现 增删改查 Java+JDBC +mysql数据库 实现学生的增删改查等功能 Java+JDBC +mysql数据库 实现学生的增删改查等功能 Java+JDBC +mysql...
1. **MySQL数据库**:实验中提到了使用MySQL作为关系型数据库管理系统,它是开源且广泛使用的数据库系统。你需要下载并安装MySQL,通过其自带的管理器或第三方工具(如Navicat、Workbench)来管理数据库。 2. **...
总结来说,"JDBC数据库驱动MySql"这个压缩包提供的驱动是Java与MySQL数据库交互的关键组件,通过它,开发者可以使用Java代码轻松地完成对MySQL数据库的各种操作,享受Java的跨平台优势和MySQL的高效性能。
利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份
本教程将详细介绍如何使用JDBC连接MySQL数据库,实现数据的增、删、改、查操作,这对于初学者来说是一个重要的学习起点。 首先,确保你的系统中已经安装了MySQL数据库并创建了一个数据库实例。接下来,你需要获取...
mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上...
JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试...
通过以上步骤,我们可以在Eclipse环境中成功地使用JDBC连接MySQL数据库,并执行基本的操作。此外,还需注意保持软件版本的一致性,以及在网络环境下检查网络连接状态,避免因版本不匹配或网络问题导致的连接失败。
本教程将专注于使用Java的JDBC(Java Database Connectivity)接口来实现MySQL数据库之间的迁移,以及分表数据的迁移。 首先,JDBC是Java语言访问数据库的标准API,它允许Java程序与各种数据库进行交互,包括MySQL...
**JDBC操作MySQL数据库基础教程** 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。它允许Java应用程序连接并执行SQL语句,实现数据的CRUD(Create、Read、Update、...
### Android通过JDBC直接访问MySQL数据库 #### 一、引言 随着移动应用开发的不断发展,Android应用程序常常需要与后端数据库进行交互以提供丰富的功能和服务。传统的Android应用与数据库的交互方式通常采用RESTful ...
【JDBC连接MySQL数据库的方法浅析】 JDBC(Java Database Connectivity)是Java语言中用于与关系型数据库交互的标准API,由Sun Microsystems(现为Oracle公司)制定。它为Java开发者提供了一个统一的接口,用于访问...
本教程将深入探讨如何使用PB通过JDBC来连接MySQL数据库。 首先,我们需要确保已经安装了以下组件: 1. PowerBuilder版本支持JDBC连接(如PB 12.5或更高版本) 2. MySQL数据库服务器 3. MySQL JDBC驱动(也称为...
### JDBC连接MySQL数据库关键的四个步骤 ...通过以上四个步骤,可以实现使用JDBC连接MySQL数据库的基本操作。在实际应用中,还需要考虑连接池管理、事务控制等方面的问题,以提高系统的稳定性和性能。
本案例将探讨如何使用JDBC连接MySQL数据库,并通过实际的代码示例讲解整个过程。我们将涉及以下知识点: 1. **JDBC驱动注册**: 在Java中,连接MySQL数据库首先需要加载并注册JDBC驱动。MySQL的JDBC驱动类是`...
总的来说,这个压缩包提供了一套完整的环境,帮助开发者或学生设置MySQL数据库,使用HeidiSQL进行管理,并通过JDBC在Java中进行数据库操作。这涵盖了从数据库安装、管理到编程实践的多个层面,是一份非常实用的学习...
JDBCMYSQL数据库访问技术PPT教案学习.pptx
在本案例中,"JDBC连接MySQL数据库8.0.13的驱动包" 提供了连接MySQL 8.0.13版本数据库所需的Java驱动程序。MySQL是一种开源、免费的关系型数据库管理系统,广泛应用于Web应用、企业内部系统以及各类数据存储需求。 ...