自我总结的数据库连接方法_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3844 | 回复: 0   主题: 自我总结的数据库连接方法        下一篇 
ab19890824
注册用户
等级:少尉
经验:351
发帖:92
精华:0
注册:2011-11-21
状态:离线
发送短消息息给ab19890824 加好友    发送短消息息给ab19890824 发消息
发表于: IP:您无权察看 2011-11-24 20:16:46 | [全部帖] [楼主帖] 楼主

一、传统连接

1.DBConnection ,用于得到Connection 对象

public class DBConnection {
      private final String DBDRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver" ;
      private final String DBURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=JSP" ;
      private final String DBUSER = "sa" ;
      private final String DBPASSWORD = "123456" ;
      private Connection conn = null ;
      public DBConnection()
      {
            try
            {
                  Class.forName(DBDRIVER) ;
                  this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
            }
            catch (Exception e)
            {
            }
      }
      // 取得数据库连接
      public Connection getConnection()
      {
            return this.conn ;
      }
      // 关闭数据库连接
      public void close()
      {
            try
            {
                  this.conn.close() ;
            }
            catch (Exception e)
            {
            }
      }
}


2.查询全部的代码

public List queryAll() throws Exception {
      // TODO Auto-generated method stub
      List all = new ArrayList() ;
      String sql = "SELECT id,title,author,content FROM note" ;
      PreparedStatement pstmt = null ;
      DBConnection dbc = null ;
      dbc = new DBConnection() ;
      try
      {
            pstmt = dbc.getConnection().prepareStatement(sql) ;
            ResultSet rs = pstmt.executeQuery() ;
            while(rs.next())
            {
                  Note note = new Note() ;
                  note.setId(rs.getInt(1)) ;
                  note.setTitle(rs.getString(2)) ;
                  note.setAuthor(rs.getString(3)) ;
                  note.setContent(rs.getString(4)) ;
                  all.add(note) ;
            }
            rs.close() ;
            pstmt.close() ;
      }
      catch (Exception e)
      {
            System.out.println(e) ;
            throw new Exception("操作中出现错误!!!") ;
      }
      finally
      {
            dbc.close() ;
      }
      return all ;
}


二、采用数据源连接

1.DBConnection ,用于得到Connection 对象

public class DBConnection {
      private Connection conn = null ;
      public DBConnection()
      {
            try
            {
                  Context initContext=new InitialContext();
                  Context context=(Context)initContext.lookup("java:/comp/env");
                  DataSource ds=(Context)context.lookup("jdbc/sqlds");
                  this.conn = ds.getConnection();
            }
            catch (Exception e)
            {
            }
      }
      //
取得数据库连接
      public Connection getConnection()
      {
            return this.conn ;
      }
      // 关闭数据库连接
      public void close()
      {
            try
            {
                  this.conn.close() ;
            }
            catch (Exception e)
            {
            }
      }
}


2.查询全部的代码(同“一”中)

三、采用Commons-DbUtils组件(不应用数据源)

public class DBConnection {
      private final String DBDRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver" ;
      private final String DBURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=JSP" ;
      private final String DBUSER = "sa" ;
      private final String DBPASSWORD = "123456" ;
      private Connection conn = null ;
      public DBConnection()
      {
            try
            {
                  DbUtils.loadDriver(DBDRIVER ) ;
                  this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
            }
            catch (Exception e)
            {
            }
      }
      // 取得数据库连接
      public Connection getConnection()
      {
            return this.conn ;
      }
}
}


2.查询全部的代码

public List queryAll() throws Exception {
      // TODO Auto-generated method stub
      List all = new ArrayList() ;
      String sql = "SELECT id,title,author,content FROM note" ;
      DBConnection dbc = new DBConnection() ;
      Connection conn=dbc.getConnection();
      QueryRunner qr=new QueryRunner();
      all=(List)qr.query(conn,sql,new BeanListHandler(Note.class));
      return all ;
}


四、采用Commons-DbUtils组件(应用数据源)

1.DBDataSource ,用于得到DataSource 对象

public class DBDataSource {
      private DataSource ds = null ;
      public DBDataSource()
      {
            Context initContext=new InitialContext();
            Context context=(Context)initContext.lookup("java:/comp/env");
            ds=(Context)context.lookup("jdbc/sqlds");
      }
      // 取得数据源
      public DataSource getDataSource()
      {
            return this.ds ;
      }
}


2.查询全部的代码

public List queryAll() throws Exception {
      // TODO Auto-generated method stub
      List all = new ArrayList() ;
      String sql = "SELECT id,title,author,content FROM note" ;
      DBDataSource dbc = new DBDataSource() ;
      DataSource ds=dbc.getDataSource();
      QueryRunner qr=new QueryRunner(ds);
      all=(List)qr.query(sql,new BeanListHandler(Note.class));
      return all ;
}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论