码迷,mamicode.com
首页 > 数据库 > 详细

【jdbc】连接数据库从浅入深

时间:2015-11-12 21:59:46      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:

一.回想

     还记得以前自学的时候,刚接触到数据库,讲解的连接数据库的最基本的理论知识和方法,现在温习一下基础知识并总结如下!

     1.JDBC连接数据库的基本流程

      加载JDBC驱动程序 —> 提供JDBC连接的URL,ROOT,PASSWORD —> 连接数据库 —> 获取Statement相关类 —> 完成增删改 —> 关闭JDBC的相关对象

    2.详细

      ①JDBC的驱动程序的加载

       网上有说到JDBC加载驱动程序有4种方法,但是不太明白。这里用java的反射来完成驱动程序的加载。但是前提是需要相应的jar包才能成功加载

      maven配置jar包:

        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
            <scope>runtime</scope>
        </dependency>

 

       mysql的驱动:com.mysql.jdbc.Driver

       oracle的驱动:oracle.jdbc.driver.OracleDriver

      for example:

Class.forName(com.mysql.jdbc.Driver);//初始化jdbc驱动,并加载相应的驱动到jvm中

      ②连接数据库

         这里使用的是java SE API 提供的DriverManager类来获得连接的Connection接口

          mysql的url:jdbc:mysql://localhost:3306/test(数据库名)

          oracle的url:jdbc:oracle:thin:@localhost:1521:test(数据库名)

       for example:

 String url = "jdbc:mysql://localhost:3306/test";
 String user = "root";
 String passwd = "root";

Connection connection = DriverManager.getConnection(url,user,passwd);

③获取Statement相关类进行增删改

       Interface Statement(只能用于执行静态代码+拼接):

                       方法:boolean  execute(String sql);

                                int  executeUpdate(String sql);//可执行增删改

                                ResultSet  executeQuery(String sql);//执行查询功能

Statement statement = connection.createStatement();
//boolean flag = statement.executeUpdate("update table1 set name = ‘xl‘ where id = 1");//增删改用executeUpdate方法 ResultSet resultSet
= statement.executeQuery("select * from table1");//查询使用executeQuery方法 返回ResultSet while(resultSet.next()){ System.out.print(resultSet.getObject(1)+"---"+resultSet.getObject(2));
//System.out.print(resultSet.getString(1)++"---"+resultSet.getDate(2)); }

     Interface PreparedStatement(可以执行动态代码):

                  方法:boolean   execute();

                           int   executeUpdate();//可执行增删改

                           ResultSet  executeQuery();//执行查询功能

 String sql = "update test set name = ? where id = ?";
 PreparedStatement ps = connection.prepareStatement(sql);
 ps.setString(1,"ssx");
 ps.setInt(2,1);
 ps.execute();

         另外,可由ResultSet 获得接口ResultSetMetadate(使用getMetaDate()方法)

                                        方法:String getCatalogName(int column)   获取表名

                                                int getColumnCount()  :获取结果集的列数

                                                String getColumnLabel(int column) :获取相应列的列名

3.封装jdbc

      可以参看这里:写的很好

     

    

【jdbc】连接数据库从浅入深

标签:

原文地址:http://www.cnblogs.com/bg2015-07-05/p/4960287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!