• Java JDBC 连接数据库


    一.原生JDBC连接步骤:

    //1.注册数据库驱动
    //com.MySQL.jdbc.Driver 
    Class.forName("数据库驱动的完整类名");
    
    //2.获取数据库连接
    Connection conn =  DriverManager.getConnection("连接url" , "用户名" ,"密码" );
    
    //3.创建一个会话
    Preparedstatement ps = null;
    
    /4.执行SQL语句,增加,删除,修改记录  
    ps.executeUpdate("增加,删除,修改记录的SQL语句");  
    
    //或者 查询语句
    ResultSet rs = ps.executeQuery("查询记录的SQL语句");  
    
    //5.处理查询结果集
    while(rs.next()){  
    //对记录的操作  
    }  
      
    //6.关闭连接  
    rs.close();  
    ps.close();  
    conn.close();

    2.使用C3P0

     

    资源文件

    driverClass = com.mysql.jdbc.Driver      
    url = jdbc:mysql://localhost:3306/test    
    username = root      
    password = 123456

    建立连接

    ComboPooledDataSource cpds = new ComboPooledDataSource();    
        
    // 加载数据库驱动    
    try {    
        cpds.setDriverClass("com.ibm.db2.jcc.DB2Driver");    
    } catch (PropertyVetoException e1) {    
        e1.printStackTrace();    
    }    
        
    // 设置访问数据库的地址、用户名和密码    
    cpds.setJdbcUrl("jdbc:db2://10.10.38.138:50000/malltest");    
    cpds.setUser("db2inst1");    
    cpds.setPassword("db2inst1");    
        
    // 设置C3P0的一些配置,不设置则使用默认值    
    cpds.setMinPoolSize(5);    
    cpds.setAcquireIncrement(5);    
    cpds.setMaxPoolSize(20);    
    cpds.setMaxStatements(180);    
        
    Connection conn = null;    
    Statement stmt = null;    
    ResultSet rs = null;    
    try {    
        // 创建数据库连接    
        conn = cpds.getConnection();    
            
        // 获取数据库操作对象    
        stmt = conn.createStatement();    
            
        // 操作数据库获取结果集    
        rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'");    
            
        // 处理结果集    
        while (rs.next()) {    
            System.out.println(rs.getString("mername"));    
        }    
    } catch (SQLException e) {    
        e.printStackTrace();    
    } finally {    
        // 关闭结果集    
        if(rs != null) {    
            try { rs.close(); } catch (SQLException e) { }    
        }    
        // 关闭数据库操作对象    
        if(stmt != null) {    
            try { stmt.close(); } catch (SQLException e) { }    
        }    
        // 关闭数据库连接    
        if(conn != null) {    
            try { conn.close(); } catch (SQLException e) { }    
        }    
        try {    
            DataSources.destroy(cpds);    
        } catch (SQLException e) {    
            e.printStackTrace();    
        }    
    }

    3.使用DBCP

    配置文件

    driverClassName=com.ibm.db2.jcc.DB2Driver    
    url=jdbc:db2://10.10.38.138:50000/malltest    
    username=db2inst1    
    password=db2inst1    
    initialSize=3    
    maxActive=5    
    maxIdle=3    
    minIdle=1    
    maxWait=30000

    连接数据库

    // 1.创建连接池    
    DataSource ds = null;    
    try {    
        Properties prop = new Properties();    
        // 通过类路径来加载属性文件    
        prop.load(DbcpTest.class.getClassLoader().getResourceAsStream("database/dbcp/dbcp.properties"));    
        // 获取数据源    
        ds = BasicDataSourceFactory.createDataSource(prop);    
    } catch (IOException e) {    
        e.printStackTrace();    
    } catch (Exception e) {    
        e.printStackTrace();    
    }    
        
    Connection conn = null;    
    Statement stmt = null;    
    ResultSet rs = null;    
    try {    
        // 2.获取数据库连接    
        conn = ds.getConnection();    
            
        // 3.创建数据库操作对象    
        stmt = conn.createStatement();    
            
        // 4.操作数据库获取结果集    
        rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'");    
        
        // 5.处理结果集    
        while (rs.next()) {    
            System.out.println(rs.getString("mername"));    
        }    
    } catch (SQLException e) {    
        e.printStackTrace();    
    } finally {    
        // 关闭结果集    
        if(rs != null) {    
            try { rs.close(); } catch (SQLException e) { }    
        }    
        // 关闭数据库操作对象    
        if(stmt != null) {    
            try { stmt.close(); } catch (SQLException e) { }    
        }    
        // 关闭数据库连接    
        if(conn != null) {    
            try { conn.close(); } catch (SQLException e) { }    
        }    
    }
  • 相关阅读:
    SDUT-3376_数据结构实验之查找四:二分查找
    SDUT-3375_数据结构实验之查找三:树的种类统计
    SDUT-3373_数据结构实验之查找一:二叉排序树
    深度优先遍历和广度优先遍历
    SDUT-2498_AOE网上的关键路径
    SDUT-2140_判断给定图是否存在合法拓扑序列
    SDUT-2144_最小生成树
    SDUT-3364_欧拉回路
    SDUT-3363_驴友计划
    Java练习 SDUT-2271_Eddy的难题
  • 原文地址:https://www.cnblogs.com/Actexpler-S/p/8022215.html
Copyright © 2020-2023  润新知