import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBC_Test { // 创建静态全局变量 static Connection conn; static Statement st; public static void main(String[] args) { insert(); // 插入添加记录 update(); // 更新记录数据 delete(); // 删除记录 query(); // 查询记录并显示 } /* 插入数据记录,并输出插入的数据记录数 */ public static void insert() { conn = getConnection(); // 首先要获取连接,即连接到数据库 try { String sql = "INSERT INTO tablename1(name, sex, age)" + " VALUES ('肖孟', '男', 32)"; // 插入数据的sql语句 st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象 int count = st.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数 System.out.println("向tablename1表中插入 " + count + " 条数据"); // 输出插入操作的处理结果 conn.close(); // 关闭数据库连接 } catch (SQLException e) { System.out.println("插入数据失败" + e.getMessage()); } } /* 更新符合要求的记录,并返回更新的记录数目 */ public static void update() { conn = getConnection(); // 同样先要获取连接,即连接到数据库 try { String sql = "update tablename1 set age=20 where name = 'Tom'";// 更新数据的sql语句 st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量 int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数 System.out.println("tablename1表中更新 " + count + " 条数据"); // 输出更新操作的处理结果 conn.close(); // 关闭数据库连接 } catch (SQLException e) { System.out.println("更新数据失败"); } } /* 查询数据库,输出符合要求的记录的情况 */ public static void query() { conn = getConnection(); // 同样先要获取连接,即连接到数据库 System.out.println("连接成功"); try { String sql = "select * from tablename1"; // 查询数据的sql语句 st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量 ResultSet rs = st.executeQuery(sql); // 执行sql查询语句,返回查询数据的结果集 System.out.println("最后的查询结果为:"); while (rs.next()) { // 判断是否还有下一个数据 // 根据字段名获取相应的值 String name = rs.getString("name"); String sex = rs.getString("sex"); int age = rs.getInt("age"); // 输出查到的记录的各个字段的值 System.out.println(name + " " + age + " " + sex); } conn.close(); // 关闭数据库连接 } catch (SQLException e) { System.out.println("查询数据失败"); } } /* 删除符合要求的记录,输出情况 */ public static void delete() { conn = getConnection(); // 同样先要获取连接,即连接到数据库 try { String sql = "delete from tablename1 where name = 'Tom'";// 删除数据的sql语句 st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量 int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量 System.out.println("table1表中删除 " + count + " 条数据\n"); // 输出删除操作的处理结果 conn.close(); // 关闭数据库连接 } catch (SQLException e) { System.out.println("删除数据失败"); } } /* 获取数据库连接的函数 */ public static Connection getConnection() { Connection con = null; // 创建用于连接数据库的Connection对象 try { Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动 con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/mysql?" + "user=root&password=huimie");// 创建数据连接 } catch (Exception e) { System.out.println("数据库连接失败" + e.getMessage()); } return con; // 返回所建立的数据库连接 } }
相关推荐
在本课程"JAVAWEB-17:JDBC编程进阶2"中,我们将深入探讨Java Web开发中的JDBC(Java Database Connectivity)技术的高级用法。JDBC是Java平台的标准API,用于与各种数据库进行交互。在这个进阶部分,我们将重点关注...
留言板的实现 1、未登录用户可以浏览留言板中的内容 2、登录用户可以进行留言(留言信息包括标题,内容,留言人和时间) ... 4、登录用户可以对自己的留言进行修改(修改后的留言显示修改的时间) ...
JDBC进阶2
JDBC进阶1
**四、JDBC进阶** 1. **批处理更新**: 对于大量数据的插入、更新或删除,批处理可以显著提高性能。 2. **存储过程的调用**: 使用CallableStatement调用数据库中的存储过程,处理复杂的业务逻辑。 3. **游标**: 使用...
**JDBC进阶技术** 1. **批处理**: 使用`addBatch()`方法批量添加SQL语句,通过`executeBatch()`一次性执行,提高效率。 2. **连接池**: 为提高性能和资源利用率,可以使用连接池如C3P0、HikariCP等管理数据库连接...
### JDBC进阶 1. **批处理** 对于多次执行相同SQL的情况,可以使用批处理提高效率。调用`Statement`的`addBatch()`方法添加SQL,然后用`executeBatch()`执行。 2. **事务管理** JDBC支持事务控制,如`Connection...
**JDBC进阶** 在实际开发中,为了提高性能和减少代码量,通常会使用`PreparedStatement`来代替`Statement`,并使用连接池(如C3P0、HikariCP等)来管理数据库连接,避免频繁创建和关闭连接。 总之,JDBC是Java开发...
**三、JDBC进阶** “传智播客-Jdbc3_方立勋.ppt”和“传智播客-Jdbc2_方立勋.ppt”可能深入JDBC的高级特性和最佳实践: 1. **PreparedStatement**:对比Statement,强调预编译SQL语句的优势,如防止SQL注入、提高...
### JDBC进阶 6. **批处理**:通过addBatch()方法添加SQL语句,然后用executeBatch()执行,适合大量重复操作。 7. **连接池**:如C3P0、DBCP、HikariCP等,提高性能,避免频繁创建和关闭连接。 8. **事务管理**:...
**JDBC进阶技巧**: 1. **使用PreparedStatement**: - PreparedStatement允许预编译SQL语句,提高性能,并且更安全,因为它能防止SQL注入攻击。通过占位符(问号 `?`)和 `setXXX()` 方法设置参数,如: ```java...
**JDBC进阶特性** 1. **预编译SQL(PreparedStatement)**:预编译的SQL语句可以提高性能,防止SQL注入,并允许参数化查询。 2. **批处理**:通过`addBatch()`方法添加多条SQL,然后一次性执行,提高效率。 3. **...
5. JDBC进阶: - JPA(Java Persistence API)和Hibernate等ORM框架,它们简化了数据库操作,提供了更高级的功能,如对象关系映射、事务管理等。 - JDBC批处理和存储过程的调用,了解如何执行复杂的数据库操作。 ...
**JDBC进阶** 1. **PreparedStatement**:预编译的SQL语句,可防止SQL注入,提高性能。例如: ```java PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id=?"); pstmt.setInt(1, 1...
**第二天:JDBC进阶** 在深入学习JDBC时,我们关注以下几个主题: 1. **事务管理**:JDBC支持事务控制,如`Connection.setAutoCommit()`用于开启/关闭自动提交,以及`Connection.commit()`和`Connection.rollback...
【标题】:“jdbc增删改查” 在Java编程领域,JDBC(Java Database Connectivity)是连接Java应用程序...在实际项目中,我们还会遇到诸如性能优化、连接池管理、异常处理等更复杂的课题,这些都是JDBC进阶学习的内容。
**JDBC(Java Database Connectivity)**是Java编程语言中用于规范客户端程序如何访问数据库的应用程序接口,它提供了标准的API让Java程序员能够连接到各种...此外,了解事务管理、异常处理也是JDBC进阶的重要部分。
### JDBC进阶 1. **批处理**:使用`Statement`或`PreparedStatement`的`addBatch()`方法可以批量执行SQL,提升效率。 2. **连接池**:为了优化性能,开发者通常使用连接池(如C3P0、HikariCP、Apache DBCP)管理...
### 五、JDBC进阶话题 - **事务管理**:JDBC支持事务的开始、提交、回滚,可以实现原子性、一致性、隔离性和持久性的事务特性。 - **异常处理**:在进行数据库操作时,应妥善处理`SQLException`和其他异常,确保...
高级java01JDBC基础.ppt 02JDBC进阶.ppt 03Java集合框架.ppt