JDBC学习(一)

来源:互联网 发布:蜂窝数据用量0 编辑:程序博客网 时间:2024/04/29 11:30

JDBC概念

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
由java.sql和javax.sql组成

用java简单操作数据库

//1.注册驱动        DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2.建立连接        String url = "jdbc:mysql://localhost:3306/php";        String user = "root";        String password = "123456";        Connection conn = DriverManager.getConnection(url,user,password);        //3.创建语句        Statement state = conn.createStatement();        //4.执行语句        ResultSet rs = state.executeQuery("select * from teacher3");        //5.处理结果        while (rs.next())  //一开始在第一行的前面        {            System.out.println(rs.getObject(1)+"   "+rs.getObject(2)+"  "+rs.getObject(3)+"  "+rs.getObject(4));            //getObject(1)表示数据库表中此行第一个字段的内容        }        //6.释放资源        rs.close();        state.close();        conn.close();

关于注册驱动
有三种

DriverManager.registerDriver(new com.mysql.jdbc.Driver());或者System.setProperty(“jdbc.drivers”,”com.mysql.jdbc.Driver”);//很少用或者Class.forName(“com.mysql.jdbc.Driver”);//推荐方式 没jar包能编译通过

URL
在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。

语法:

JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&…
————
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
URL的一般语法格式为:
(带方括号[]的为可选项):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment

建立一个工具类,完成注册,连接释放功能

jdbcUtils.javapublic final class jdbcUtils {    private static String url = "jdbc:mysql://localhost:3306/php";    private static String user = "root";    private static String password = "123456";    private jdbcUtils()    {    }    static{        try {            Class.forName("com.mysql.jdbc.Driver");//注册驱动        }catch (ClassNotFoundException e)        {            throw new ExceptionInInitializerError(e);        }    }    public static Connection getConnection() throws SQLException    {        return DriverManager.getConnection(url,user,password);//连接    }    public static void free(ResultSet rs, Statement st,Connection conn)    {        try {            if(rs != null)            {                rs.close();            }        }catch (SQLException e)        {            e.printStackTrace();        }        finally {            try {                if(st != null)                {                    st.close();                }            }catch (SQLException e)            {                e.printStackTrace();            }            finally {                try{                    if(conn != null)                        st.close();                }catch (SQLException e)                {                    e.printStackTrace();                }            }        }    }}
Base.javapublic class Base {    public static void main(String[] args) throws Exception{        template();    }    public static void template() throws Exception    {        String url = "jdbc:mysql://localhost:3306/php";        String user = "root";        String password = "123456";        Connection conn = null;        Statement st = null;        ResultSet rs = null;        try {            conn = jdbcUtils.getConnection();//连接            st = conn.createStatement();//创建语句            rs = st.executeQuery("select * from teacher3");//执行语句            while (rs.next())//处理            {                System.out.println(rs.getObject(1)+"   "+rs.getObject(2)+"  "+rs.getObject(3)+"  "+rs.getObject(4));            }        } finally {            jdbcUtils.free(rs,st,conn);        }    }}
1 0