`
baobaoloveyxm
  • 浏览: 2370 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

JDBC 进阶

 
阅读更多
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

    在本课程"JAVAWEB-17:JDBC编程进阶2"中,我们将深入探讨Java Web开发中的JDBC(Java Database Connectivity)技术的高级用法。JDBC是Java平台的标准API,用于与各种数据库进行交互。在这个进阶部分,我们将重点关注...

    JavaWEB JDBC进阶 留言板的实现

    留言板的实现 1、未登录用户可以浏览留言板中的内容 2、登录用户可以进行留言(留言信息包括标题,内容,留言人和时间) ... 4、登录用户可以对自己的留言进行修改(修改后的留言显示修改的时间) ...

    03-JDBC-事务及批处理.xmind

    JDBC进阶2

    02-JDBC-DAO与预编译语句.xmind

    JDBC进阶1

    非常全面JDBC资源

    **四、JDBC进阶** 1. **批处理更新**: 对于大量数据的插入、更新或删除,批处理可以显著提高性能。 2. **存储过程的调用**: 使用CallableStatement调用数据库中的存储过程,处理复杂的业务逻辑。 3. **游标**: 使用...

    JDBC学习笔记(含思维导图).zip

    **JDBC进阶技术** 1. **批处理**: 使用`addBatch()`方法批量添加SQL语句,通过`executeBatch()`一次性执行,提高效率。 2. **连接池**: 为提高性能和资源利用率,可以使用连接池如C3P0、HikariCP等管理数据库连接...

    jdbc 编程实例

    ### JDBC进阶 1. **批处理** 对于多次执行相同SQL的情况,可以使用批处理提高效率。调用`Statement`的`addBatch()`方法添加SQL,然后用`executeBatch()`执行。 2. **事务管理** JDBC支持事务控制,如`Connection...

    Java中JDBC概述的资料,帮助初学者掌握何为JDBC

    **JDBC进阶** 在实际开发中,为了提高性能和减少代码量,通常会使用`PreparedStatement`来代替`Statement`,并使用连接池(如C3P0、HikariCP等)来管理数据库连接,避免频繁创建和关闭连接。 总之,JDBC是Java开发...

    传智播客方立勋JDBC的ppt

    **三、JDBC进阶** “传智播客-Jdbc3_方立勋.ppt”和“传智播客-Jdbc2_方立勋.ppt”可能深入JDBC的高级特性和最佳实践: 1. **PreparedStatement**:对比Statement,强调预编译SQL语句的优势,如防止SQL注入、提高...

    JDBC.入门到精通教程

    ### JDBC进阶 6. **批处理**:通过addBatch()方法添加SQL语句,然后用executeBatch()执行,适合大量重复操作。 7. **连接池**:如C3P0、DBCP、HikariCP等,提高性能,避免频繁创建和关闭连接。 8. **事务管理**:...

    JDBC使用技巧

    **JDBC进阶技巧**: 1. **使用PreparedStatement**: - PreparedStatement允许预编译SQL语句,提高性能,并且更安全,因为它能防止SQL注入攻击。通过占位符(问号 `?`)和 `setXXX()` 方法设置参数,如: ```java...

    JDBC编程

    **JDBC进阶特性** 1. **预编译SQL(PreparedStatement)**:预编译的SQL语句可以提高性能,防止SQL注入,并允许参数化查询。 2. **批处理**:通过`addBatch()`方法添加多条SQL,然后一次性执行,提高效率。 3. **...

    000_动力节点_JDBC_源码.rar_java_jpg_noonnk4_roomqyf_动力节点源码

    5. JDBC进阶: - JPA(Java Persistence API)和Hibernate等ORM框架,它们简化了数据库操作,提供了更高级的功能,如对象关系映射、事务管理等。 - JDBC批处理和存储过程的调用,了解如何执行复杂的数据库操作。 ...

    JDBC笔记.zip

    **JDBC进阶** 1. **PreparedStatement**:预编译的SQL语句,可防止SQL注入,提高性能。例如: ```java PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id=?"); pstmt.setInt(1, 1...

    java连接数据库JDBC学习

    **第二天:JDBC进阶** 在深入学习JDBC时,我们关注以下几个主题: 1. **事务管理**:JDBC支持事务控制,如`Connection.setAutoCommit()`用于开启/关闭自动提交,以及`Connection.commit()`和`Connection.rollback...

    jdbc增删改查

    【标题】:“jdbc增删改查” 在Java编程领域,JDBC(Java Database Connectivity)是连接Java应用程序...在实际项目中,我们还会遇到诸如性能优化、连接池管理、异常处理等更复杂的课题,这些都是JDBC进阶学习的内容。

    JDBC实例,新手的过度

    **JDBC(Java Database Connectivity)**是Java编程语言中用于规范客户端程序如何访问数据库的应用程序接口,它提供了标准的API让Java程序员能够连接到各种...此外,了解事务管理、异常处理也是JDBC进阶的重要部分。

    jdbc 笔记

    ### JDBC进阶 1. **批处理**:使用`Statement`或`PreparedStatement`的`addBatch()`方法可以批量执行SQL,提升效率。 2. **连接池**:为了优化性能,开发者通常使用连接池(如C3P0、HikariCP、Apache DBCP)管理...

    JDBC入门汇总及范例讲解

    ### 五、JDBC进阶话题 - **事务管理**:JDBC支持事务的开始、提交、回滚,可以实现原子性、一致性、隔离性和持久性的事务特性。 - **异常处理**:在进行数据库操作时,应妥善处理`SQLException`和其他异常,确保...

    java高级程序设计课件

    高级java01JDBC基础.ppt 02JDBC进阶.ppt 03Java集合框架.ppt

Global site tag (gtag.js) - Google Analytics