zoukankan      html  css  js  c++  java
  • Java 使用JDBC连接查询操作数据

    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    
    import java.sql.*;
    
    public class JdbcTest {
    
        private static final Logger logger = LogManager.getLogger(JdbcTest.class);
    
        private Connection connection;
    
        /*
        连接数据库
         */
        public void connectDatabase() {
            String driver = "驱动连接";
            String url = "数据库连接";
            String userName = "用户";
            String password = "密码";
            logger.info("——开始连接数据库——");
            try {
                Class.forName(driver);
                connection = DriverManager.getConnection(url, userName, password);
                logger.info("——数据库连接成功——");
            } catch (Exception e) {
                logger.info("——数据库连接出现异常——");
                logger.info(e);
            }
        }
    
        /*
        JDBC单个查询操作
         */
        public void jdbcTest() throws Exception {
            String sql = "select id,name from student";
            PreparedStatement pstmt = connection.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println("————————————");
                String id = rs.getString("id");
                System.out.println(id);
                String khzwmc = rs.getString("name");
                System.out.println(khzwmc);
            }
            rs.close();
            pstmt.close();
        }
    
        /*
        JDBC批量插入or更新or删除操作
         */
        public void jdbcBatchTest() throws Exception {
            String[] names = {"Jack", "Tom", "Rose"};
            // 关闭自动提交
            connection.setAutoCommit(false);
            Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            for (int i = 0; i < names.length; i++) {
                String sql = "insert into student(id, name) values(" + (i + 1) + ", " + names[i] + ")";
                stmt.addBatch(sql);
            }
            // 批量操作
            stmt.executeBatch();
            // 手动提交
            connection.commit();
            stmt.clearBatch();
            stmt.close();
        }
    
        /*
        关闭连接
         */
        public void closeConnection() throws SQLException {
             if (null != connection) {
                 connection.close();
             }
        }
    
        public static void main(String[] args) throws Exception {
            JdbcTest test = new JdbcTest();
            test.connectDatabase();
            test.jdbcBatchTest();
            test.jdbcTest();
            test.closeConnection();
        }
    }
    

      

  • 相关阅读:
    漫谈 C++ 的 内存堆 实现原理
    我发起了一个 .Net 开源 数据库 项目 SqlNet
    谈谈 数据库原理
    论 数据库 B Tree 索引 在 固态硬盘 上 的 离散存储
    论 东坡肉 和 红烧肉 的 区别
    浅谈 操作系统原理
    引子 初识
    P2P Downloader
    利用 MessageRPC 和 ShareMemory 来实现 分布式并行计算
    MessageRPC
  • 原文地址:https://www.cnblogs.com/Big-Boss/p/11249808.html
Copyright © 2011-2022 走看看