JAVA的数据库操作函数

连接数据库函数

publicSQL() {

         String url ="jdbc:mysql://localhost:3306/stuadmin";

         String username = "root";

         String password = "123456";

 

         try {                                    // 加载驱动程序以连接数据库

              Class.forName("com.mysql.jdbc.Driver");

              conn =DriverManager.getConnection(url, username, password);

         } catch (ClassNotFoundException cnfex){     // 捕获加载驱动程序异常

 

              System.err.println("装载 JDBC/ODBC 驱动程序失败。");

              cnfex.printStackTrace();

              System.exit(1);

         } catch (SQLException sqlex) {               // 捕获连接数据库异常

 

              System.err.println("无法连接数据库");

              sqlex.printStackTrace();

              System.exit(1);

         }

     }

 

断开数据库连接

publicvoid shutDown() {

 

         try { 

              conn.close();                       //关闭数据库连接

         } catch (SQLException sqlex) {

              System.err.println("Unable todisconnect");

              sqlex.printStackTrace();

         }

}

获取下一条记录(被下面的getTable()调用)

     @SuppressWarnings({ "rawtypes","unchecked" })

     private Vector getNextRow(ResultSet rs,ResultSetMetaData rsmd)

              throws SQLException {

         Vector currentRow = new Vector();

         for (int i = 1; i <=rsmd.getColumnCount(); ++i)

              currentRow.addElement(rs.getString(i));   

         return currentRow;                        // 返回一条记录

     }

查找数据库内容并将内容赋值到表格模型里并返回

@SuppressWarnings({"rawtypes", "unchecked" })

publicDefaultTableModel getTable(String sqltext) {

     Object[][] p = {};

     String[] n = { "无相关数据" };

     DefaultTableModel model = newDefaultTableModel(p, n);

     try {

         statement = conn.createStatement();

         resultSet = statement.executeQuery(sqltext);// 执行SQL语句

         boolean moreRecords =resultSet.next();// 定位到达第一条记录

 

         if (!moreRecords)           // 如果没有记录,则返回空的表格模型

         {   

return model;

         }

else {                                // 记录集不空时

              Vector columnHeads = newVector();// 字段

              Vector rows = new Vector();        // 记录

              try {

                   ResultSetMetaData rsmd =resultSet.getMetaData();

 

                   for (int i = 1; i <=rsmd.getColumnCount(); ++i)

                       columnHeads.addElement(rsmd.getColumnName(i));// 获取字段的名称

 

                   do {

                       rows.addElement(getNextRow(resultSet,rsmd)); // 获取记录集

                   }while (resultSet.next());

 

                   model = newDefaultTableModel(rows, columnHeads) { // 生成表格模型

private static final long serialVersionUID = 1L;

 

                       public booleanisCellEditable(int row, int column) {

                            return false;                       // 表格内容不可编辑

                        }

                   };

              } catch (SQLException sqlex) {

                   sqlex.printStackTrace();

              }

         }

     } catch (SQLException sqlex) {

         sqlex.printStackTrace();

     }

     return model;                                          // 返回表格模型

}

查找函数,找到返回true,没找到返回false

publicBoolean select(String sqltext) {

     try {

          statement= conn.createStatement();

          resultSet= statement.executeQuery(sqltext);

          if(resultSet.first()) {

              returntrue;

          }

     } catch (SQLException sqlex) {

         sqlex.printStackTrace();

     }

     return false;

}

插入、删除、修改函数,成功则返回变化的行数,失败返回0

 public int othersql(String sqltext) {

         int queryaffected = 0;

         try {

              statement =conn.createStatement();

              queryaffected =statement.executeUpdate(sqltext);

         } catch (SQLException sqlex) {

              sqlex.printStackTrace();

         }

         return queryaffected;

     }

查找指定数据字符串并返回

publicString getcell(String sqltext) throws SQLException {

         String strgetted = null;

         statement = conn.createStatement();

         resultSet = statement.executeQuery(sqltext);

         while (resultSet.next())

              strgetted =resultSet.getString(1);

         return strgetted;

     }

查找指定数据字符串并返回

     public int getintcell(String sqltext)throws SQLException {

         int strgetted = 0;

         statement = conn.createStatement();

         resultSet =statement.executeQuery(sqltext);

         while (resultSet.next())

              strgetted = resultSet.getInt(1);

         return strgetted;

     }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值