• 2019-06-12 学习日记 day33 JDBC


    JDBC

    JAVA Database Connectivity 

    java数据库

    sun公司提供的一种数据库访问规则,规范,由于数据库种类较多,并且java语言使用比较广泛,sun就通过了一种规范,让其他的数据库提供商去实现的访问规则

    JDBC的基本步骤

    1.注册驱动

    2.建立连接

    3.创建statement

    4.执行sql,得到ResultSet

    5.遍历结果集

    6.释放资源

    package tan.jung.test;
    
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import tan.jung.JDBCUtil;
    
    public class MianTest {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            Statement st = null;
            ResultSet rs =null;
            try {
            //注册驱动
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            //建立连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost/student", "root", "root");
            //创建statement
            st= conn.createStatement();
            
            //得到结果集
            String sql="select * from tab_belong";
            rs = st.executeQuery(sql);
            //遍历查询每一条记录
            while(rs.next()){
                int id = rs.getInt("id");
                String belong = rs.getString("belong");
                System.out.println("id="+id+",belong="+belong);
            }
            
            } catch (SQLException e) {
                e.printStackTrace();
            }
            finally {
                JDBCUtil.release(conn, st, rs);            
            }
        }
    
    }
    
    //第二个包
    package tan.jung;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCUtil {
        
        public static void release(Connection conn,Statement st,ResultSet rs){
            closers(rs);
            closest(st);
            closeconn(conn);
            
        }
        private static void closers(ResultSet rs){
            try {
                if(rs !=null){
                rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            rs=null;
        }
        }
        
        private static void closest(Statement st){
            try {
                if(st !=null){
                st.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            st=null;
        }
        }
        
        private static void closeconn(Connection conn){
            try {
                if(conn !=null){
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            conn=null;
        }
        }
    }

    JDBC 工具类构建

    1.资源释放工作的整合

    2.驱动防二次注册

     Class.forName("com.mysql.jdbc.Driver");

    3.使用properties配置文件

    package tan.jung.test;
    
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import tan.jung.JDBCUtil;
    
    public class MianTest {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            Statement st = null;
            ResultSet rs =null;
            try {
            
                conn =JDBCUtil.getConn();
            //创建statement
            st= conn.createStatement();
            
            //得到结果集
            String sql="select * from tab_belong";
            rs = st.executeQuery(sql);
            //遍历查询每一条记录
            while(rs.next()){
                int id = rs.getInt("id");
                String belong = rs.getString("belong");
                System.out.println("id="+id+",belong="+belong);
            }
            
            } catch (Exception e) {
                e.printStackTrace();
            }
            finally {
                JDBCUtil.release(conn, st, rs);            
            }
        }
    
    }
    
    
    
    //第二个包
    
    package tan.jung;
    
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class JDBCUtil {
        static    String driverClass = null;
        static    String url=null;
        static    String name=null;
        static    String password=null;
        
        static{
            try {
                //1.创建一个属性配置对象
                Properties properties = new Properties();
                //InputStream is =new FileInputStream("jdbc.properties");
                InputStream is =JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"); 
                //导入输出流
                properties.load(is);
                
                //读取属性
                driverClass=properties.getProperty("driverClass");
                url=properties.getProperty("url");
                name=properties.getProperty("name");
                password=properties.getProperty("password");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        public static Connection getConn(){
            
            Connection conn =null;
            try {
                Class.forName(driverClass);
                
            //建立连接
            conn = DriverManager.getConnection(url, name, password);    
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            
            
            
            return conn;
            
        }
        
        
        public static void release(Connection conn,Statement st,ResultSet rs){
            closers(rs);
            closest(st);
            closeconn(conn);
            
        }
        private static void closers(ResultSet rs){
            try {
                if(rs !=null){
                rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            rs=null;
        }
        }
        
        private static void closest(Statement st){
            try {
                if(st !=null){
                st.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            st=null;
        }
        }
        
        private static void closeconn(Connection conn){
            try {
                if(conn !=null){
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();    
        }finally {
            conn=null;
        }
        }
    }
    案例

    创建jdbc.properties文件

    driverClass=com.mysql.jdbc.Driver
    url=jdbc:mysql://127.0.0.1/student
    name=root
    password=root
    案例
  • 相关阅读:
    Oracle查看正在执行的存储过程的sid---转
    使用WITH子句重用子查询
    oracle解决显示数据的层次问题--实现数据缩进
    oracle9i、10g、11g区别 --转
    oracle10g安装在裸设备上
    在Linux系统上面创建使用裸设备的数据库
    监控Oracle数据库的常用shell脚本-转
    sql server使用维护计划定时备份完整数据库、差异数据库
    使用Advanced Installer14.3 简单打包windows窗体应用程序
    SVG Path标签 A 参数
  • 原文地址:https://www.cnblogs.com/JungTan0113/p/11037491.html
Copyright © 2020-2023  润新知