加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【java】JDBC连接数据库实现增删改查

(2012-12-18 16:09:09)
标签:

杂谈

分类: Java

一.提取开关数据库功能,定义一个类BaoDao

public class BaoDao

{

     //相当于C#中Connection对象不变

     public Connection connection = null;

 

     //相当于C#中Command命令对象

     public Statement statement = null;

 

     //相当于C#中DataRead对象

     public ResultSet resultset =null;

 

     //定义打开数据库办法

     public class Open(String name,String url,String user,String pwd)

    {

         try{

            //加载驱动包

            Class.forName(name);

            //获得连接字符和用户密码

            connection = DriverMaanger.getConnection(url,user,pwd);

        }catch(Exception e){

            System.out.println("找不到驱动程序类或者数据库连接失败,加载驱动失败);

            e.printStackTrace();

       }

    }

 

     //定义关闭数据库连接办法

      public class close()

    {

         try{

            //判断结果集是否为空,不为空关闭并初始化

            if(resultSet != null)

           {

               resultSet.close();

               resultSet = null;

           }

           //判断命令对象是否为空,不为空关闭并初始化

           if(statement != null)

                    {

              statement.close();

              statement = null;

          }

          //判断接连对象是否为空,不为空关闭并初始化

          if(connection != null)

         {

              connection.close();

              connection = null;

         }

         }catch(Exception e)

        {

           e.printStackTrace();

        }

    }

}

【注意】:关闭连接的时候必须按顺序关闭

 

二.定义接口来实现增删改查

interface IBook
{

   //查询办法
   void select(String name,String url);

   //增删改办法
   void DDI(String name,String url,String sql);

}

 

三.定义子类来实现增删改查

public class book extends BaoDao implements IBook
{
     //实现查询
     public void select(String name,String url,String user,String pwd,String sql)
    {
          try{
               //打开数据库连接
               open(name,url,user,pwd);
               //创建命令对象
               statement = connection.createStatement();
               //执行查询语句
               resultSet = Statement.execute.Query(sql);

               //遍历输入结果集
               while(resultSet.next())
               {
                  System.out.println(String.Format("%d,%s,%s,%.2f",resultSet.getInt("id")

                                        ,resultSet.getString("title") ,result.getString("author")

                                                                 ,result.getFloat("price")))
                }
          }catch(Exception e){
              e.printStackTrace();
          }finally{
              close();
          }
    }
    //同时可以实现改增删功能
    public int DDI(String name,String url,String sql)
   {
          int result = 0;
          try{
               //打开数据库连接
               open(name,url);
               //创建命令对象
               statement = connection.createStatement();
               //执行查询语句
               result = Statement.execute.qudate(sql);
              
          }catch(Exception e){
              e.printStackTrace();
          }finaly{

              //关闭连接
              close();
          }
           return result;
     
}

 

四.jdbc连接数据库

 

sql server数据库
classname:com.microsoft.sqlserver.jdbc.SQLServerDriver
url:jdbc:sqlserver://localhost;databasename=数据库名

 

oracle数据库
classname:oracle.jdbc.driver.OracleDriver
url:jdbc:oracle:thin:@localhost:1521(oracle端口):数据库名

 

odbc数据库
classname:sun.jdbc.odbc.JdbcOdbcDriver
url:jdbc:odbc:数据库名

 

mysql数据库
classname:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306(mysql端口)/数据库名

 

五.添加扎包

mysql扎包:mysql-connector-java-5.1.22-bin

oracle扎包:ojdbc6

sqlserver扎包:sqljdbc4

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有