zoukankan      html  css  js  c++  java
  • 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
    案例
  • 相关阅读:
    每日一博文
    用flash builder创建手机项目以及发布app需要注意的细节
    用xml配置加载cs中为ActionScript导出的类
    cs里面层,帧的处理方法
    一个项目要被自己加载的swf的项目调用方法
    App调用Android设备本地相机拍照并保存到本地相册
    让SWF文件从原始保存位置拿出来到任意位置都可以播放的设置
    记事
    一个主项目调用被加载的小游戏SWF项目的方法
    从一个App退出,关闭app
  • 原文地址:https://www.cnblogs.com/JungTan0113/p/11037491.html
Copyright © 2011-2022 走看看