当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 请判断,并简单说明一下 1。不要修改不好的程序,要重新写 2。不要进行浮点数的相等比较 3。对递归定义的数据结构不要使用递归过程 4。利用数据类型对数据值进行防范 5。应尽可能多的输出中间结果 ......
    摘要: 哪儿有cool的tform控件下载 ......


求封装数据库操作类或BEAN的原代码

想把所有与数据库操作相关的封装成一个类,哪位大虾有好的源码?  
  谢谢

NO.1   作者: xue_sharp

IBM的java区有很多好的中文文章关于数据库封装的,还有源码,你可以看看。其实自己写一个最好不过了。  
  http://www-900.ibm.com/developerWorks/cn/java/jdbc-objects/index.shtml  
   
  http://www-900.ibm.com/developerWorks/cn/java/j-jdbcwrap/index.shtml  
  http://www-900.ibm.com/developerWorks/cn/java/l-jdbcwrap/index.shtml

NO.2   作者: xnfeng

package   org.gstone.web;  
  import   java.sql.*;  
   
  public   class   Mssql   {  
   
  private   Connection   conn   =   null;  
  private   Statement   stmt   =   null;  
  private   PreparedStatement   prepstmt   =   null;  
   
          private   String   dbdriver   =   "com.inet.tds.TdsDriver";  
          private   String   dburl   =   "jdbc:inetdae:localhost?sql2000=true";  
   
    /**  
    *   构造数据库的连接和访问类  
    */  
  public   Mssql()   throws   Exception   {  
  Class.forName(dbdriver);  
  conn   =   DriverManager.getConnection(dburl,"bhr","bhr2000");  
                  stmt   =   conn.createStatement();  
  }  
  public   Mssql(String   sql)   throws   Exception   {  
  Class.forName(dbdriver);  
  conn   =   DriverManager.getConnection(dburl,"bhr","bhr2000");  
  this.prepareStatement(sql);  
  }  
          public   Mssql(int   resultSetType,   int   resultSetConcurrency)   throws   Exception   {  
  Class.forName(dbdriver);  
  conn   =   DriverManager.getConnection(dburl,"bhr","bhr2000");  
                  stmt   =   conn.createStatement(resultSetType,   resultSetConcurrency);  
          }  
  /**  
    *   返回连接  
    *   @return   Connection   连接  
    */  
  public   Connection   getConnection()   {  
  return   conn;  
  }  
  /**  
    *   PreparedStatement  
    *   @return   sql   预设SQL语句  
    */  
  public   void   prepareStatement(String   sql)   throws   SQLException   {  
  prepstmt   =   conn.prepareStatement(sql);  
  }  
  /**  
    *   设置对应值  
    *   @param   index   参数索引  
    *   @param   value   对应值  
    */  
  public   void   setString(int   index,String   value)   throws   SQLException   {  
  prepstmt.setString(index,value);  
  }  
  public   void   setInt(int   index,int   value)   throws   SQLException   {  
  prepstmt.setInt(index,value);  
  }  
  public   void   setBoolean(int   index,boolean   value)   throws   SQLException   {  
  prepstmt.setBoolean(index,value);  
  }  
  public   void   setDate(int   index,Date   value)   throws   SQLException   {  
  prepstmt.setDate(index,value);  
  }  
  public   void   setLong(int   index,long   value)   throws   SQLException   {  
  prepstmt.setLong(index,value);  
  }  
  public   void   setFloat(int   index,float   value)   throws   SQLException   {  
  prepstmt.setFloat(index,value);  
  }  
   
   
          public   void   clearParameters()  
                  throws   SQLException  
          {  
                  prepstmt.clearParameters();  
          }  
  /**  
    *   返回预设状态  
    */  
  public   PreparedStatement   getPreparedStatement()   {  
  return   prepstmt;  
  }  
  /**  
    *   返回状态  
    *   @return   Statement   状态  
    */  
  public   Statement   getStatement()   {  
  return   stmt;  
  }  
  /**  
    *   执行SQL语句返回字段集  
    *   @param   sql   SQL语句  
    *   @return   ResultSet   字段集  
    */  
  public   ResultSet   executeQuery(String   sql)   throws   SQLException   {  
  if   (stmt   !=   null)   {  
  return   stmt.executeQuery(sql);  
  }  
  else   return   null;  
  }  
  public   ResultSet   executeQuery()   throws   SQLException   {  
  if   (prepstmt   !=   null)   {  
  return   prepstmt.executeQuery();  
  }  
  else   return   null;  
  }  
  /**  
    *   执行SQL语句删除字段集  
    *   @param   sql   SQL语句  
    *   @return   ResultSet   字段集  
    */  
      public   void   execute(String   sql)   throws   SQLException   {  
  if   (stmt   !=   null)  
  stmt.execute(sql);  
  }  
  /**  
    *   执行SQL语句  
    *   @param   sql   SQL语句  
    */  
  public   void   executeUpdate(String   sql)   throws   SQLException   {  
  if   (stmt   !=   null)  
  stmt.executeUpdate(sql);  
  }  
  public   void   executeUpdate()   throws   SQLException   {  
  if   (prepstmt   !=   null)  
  prepstmt.executeUpdate();  
  }  
   
  public   int   myUpdate(String   sql)   throws   SQLException   {  
  if   (stmt   !=   null)  
  return   stmt.executeUpdate(sql);  
  return   0;  
  }  
  /**  
    *   关闭连接  
    */  
  public   void   close()   throws   Exception   {  
  if   (stmt   !=   null)     {  
  stmt.close();  
  stmt   =   null;  
  }  
  if   (prepstmt   !=   null)   {  
  prepstmt.close();  
  prepstmt   =   null;  
  }  
  conn.close();  
  conn   =   null;  
  }  
  public   static   String   inputChinese(String   s){  
                  String   temp=null;  
  byte   db[];  
                  try{  
  db=s.getBytes();  
                  temp=new   String(db,"iso-8859-1");  
  }catch(Exception   e){  
  System.out.println(e);  
  }  
  return   temp;  
  }  
          public   static   String   outputChinese(String   s){  
                  String   temp=null;  
  byte   db[];  
  try{  
  db   =   s.getBytes("iso-8859-1");  
  temp   =   new   String(db);  
  }catch(Exception   e){  
  System.out.println(e);  
  }  
                  return   temp;  
  }  
  public   static   String   Len(String   s){  
  if   (s==null)  
  {  
  return   "";  
  }  
                  String   temp=null;  
  int   i   =   s.length();  
  if   (i>=16)  
  {  
  temp   =   s.substring(0,13)   +   "...";  
  }else{  
  temp   =   s;  
  }  
  return   temp;  
  }  
   
  }


 ·一个关于游戏外挂的问题高分    »显示摘要«
    摘要: 对于一些网络游戏的外挂,比如加速器,机器人外挂的技术我不是很懂,只知道机器人外挂是通过对键盘的预定的操作对游戏进行控制的,希望各位大侠解释一下以上两种外挂的技术,小弟不胜感激!!!! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE