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

JDBC第一天

时间:2016-08-19 00:52:40      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

(一)JDBC访问数据库的工作过程:

          技术分享   

 

  <1>加载驱动,建立连接

     oracle数据库:在项目中导入ojdbc.jar包

     数据库驱动路径:String driver="oracle.jdbc.driver.OracleDriver";

     加载驱动:Class.forName(driver);  

     数据库连接地址:String url="jdbc:oracle:thin:@ip地址:1521:SID";

     数据库用户:String user="system";

     数据库密码:String password="123456";

     通过DriverManager获取数据库连接:Connection con=DriverManager.getConnection();

 

     MySQL数据库:在项目中导入mysql-connector.jar包

     数据库驱动路径:String driver="com.mysql.jdbc.Driver";

     加载驱动:Class.forName(driver);

     数据库连接地址:String url="jdbc:mysql://IP地址:3306数据库名";

     数据库用户:String user="root";

     数据库密码:String password="123456";

     通过DriverManager获取数据库连接:Connection con=DriverManager.getConnection();

   

  <2>创建语句对象

     (1)用于执行静态 SQL 语句并返回它所生成结果的对象

     Statement state=con.createStatement();

    (2)表示预编译的 SQL 语句的对象

     String sql="delete from emp where id=?";

     PreparedStatement pstate=con.preparedStatement(sql);

  <3>执行SQL语句

    (1)Statement接口执行静态sql的方法

       执行DDL语句:execute(String sql);

         执行DML语句:executeUpdate(String sql);

         执行DQL语句:executeQuery(String sql);

        例如:

       静态sql语句:String sql="update emp set ename=‘张三‘ where id=9";

       执行sql语句:int rows=state.executeUpdate(sql);

 

    (2)PreparedStatement接口执行预编译sql语句的方法

       

 

  <4>处理结果集

    

  <5>关闭连接

    数据库使用使用之后,一定要关闭数据库.

    con.close();

 

(二)创建数据库工具类

  <1>数据库配置参数的方式:  

    (1)直接把数据配置写在工具类.

    (2)把数据库配置写在一个properties属性文件里,工具类读入属性文件,逐行获取数据库参数.(建议使用)

 

  <2>.properties文件和java Properties类

    (1).properties文件的使用:

       1)文件中不允许使用中文

       2)#表示注释

       3)存储数据是用键值对的方式

       4)每条语句结尾没有任何标点符号

       例如:

         创建一个db.properties文件,在文件中存入如下代码:

         driver=oracle.jdbc.driver.OracleDriver

         url=jdbc:oracle:thin@:192.168.12.72:1521:orcl

         user=system

         password=1234

 

    (2)如何读取property文件

       在java.util包中有一个Properties类(继承与HashTable,线程安全的散列表),专门用于操作.preperties文件的读写

       1)新建Properties对象

         Properties p=new Properties();

       2)通过对象调用load(InputStream in)来加载.properties文件 输入流可以通过类加载器获得

         p.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));

       3)调用方法String getProperty(String key)来读取.properties文件中的键值对

         String driver=p.getProperty("driver");

 

  <3>数据库工具类建立流程

        技术分享

 数据库工具类DBTool代码如下:

技术分享
 1 package util;
 2 
 3 import java.io.IOException;
 4 import java.sql.Connection;
 5 import java.sql.DriverManager;
 6 import java.sql.SQLException;
 7 import java.util.Properties;
 8 
 9 public class DBTool {
10     //定义数据库驱动路径
11     private static String driver;
12     //定义数据库连接地址
13     private static String url;
14     //定义数据库连接用户名
15     private static String user;
16     //定义数据库连接密码
17     private static String pwd;
18     
19     //在类加载时读取连接参数,
20     //只需要读取一次即可.
21     static {
22         //新建一个Propeyties类,用于读取.properties文件
23         Properties p = new Properties();
24         try {
25             //通过Properties的load方法加载.properties文件 输入流有类加载器获取
26             p.load(DBTool.class.getClassLoader().getResourceAsStream("db.properties"));
27             //通过Properties的getProperty读取.properties文件存储的键值对信息
28             driver = p.getProperty("driver");
29             url = p.getProperty("url");
30             user = p.getProperty("user");
31             pwd = p.getProperty("pwd");
32             //注册驱动,只需注册一次
33             Class.forName(driver);
34         } catch (IOException e) {
35             e.printStackTrace();
36             throw new RuntimeException(
37                 "找不到文件", e);
38         } catch (ClassNotFoundException e) {
39             e.printStackTrace();
40             throw new RuntimeException(
41                 "找不到驱动类", e);
42         }
43     }
44     
45     /**
46      * 创建一个连接
47      * @return 新连接
48      * @throws SQLException 
49      *     强制调用者catch异常,怕他忘记写finally,
50      *  以及在finally中关闭连接.
51      */
52     public static Connection getConnection() throws SQLException {
53         return DriverManager.getConnection(url, user, pwd);
54     }
55     /**
56     * 关闭数据库连接
57     */
58     public static void close(Connection conn) {
59         if(conn != null) {
60             try {
61                 conn.close();
62             } catch (SQLException e) {
63                 e.printStackTrace();
64                 throw new RuntimeException(
65                     "关闭连接失败", e);
66             }
67         }
68     }
69     
70 }
数据库工具类DBTool

 

 

 

 

     

 

 

    

    

        

 

JDBC第一天

标签:

原文地址:http://www.cnblogs.com/gangbalei/p/5785972.html

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