JDBC链接Mysql方法

news/2024/5/19 1:38:18 标签: mysql, jdbc, string, null, import, sql

 

JDBC链接Mysql

Java   2009-04-26 09:11   阅读18   评论0  
字号:    

import java.sql.*;
import java.util.*;

public final class Mysql{
 private Connection conn = null;
// private Statement st = null;

 ArrayList res = new ArrayList();
 private PreparedStatement ps = null;
 private ResultSet rs = null;
 private String url = "jdbc:sql>mysql://localhost:3306/test";
 private String user = "root";
 private String passwd = "";
 private static final String name = "com.sql>mysql.jdbc.Driver";
// private String driver = "org.gjt.mm.sql>mysql.Driver";
 
 static {
  try{
  // com.sql>mysql.jdbc.Driver d = new com.sql>mysql.jdbc.Driver();
   Class.forName(name);
  // DriverManager.registerDriver(new com.sql>mysql.jdbc.Driver());
  }catch(ClassNotFoundException cnfe){
   cnfe.printStackTrace();
  }
 }

 public Connection getConn(){
  try{
   conn = DriverManager.getConnection(url,user,passwd);
  }catch(SQLException sqle){
   conn = null;
   sqle.printStackTrace();
  }finally{
   return conn;
  }
 }

 public ArrayList getRs(String sql){
  try{
//   st = conn.createStatement();
   conn = getConn();
   ps = conn.prepareStatement(sql);
   rs = ps.executeQuery();
   System.out.println(conn);
   if(rs != null){
    while(rs.next()){
     ArrayList record = new ArrayList();
       record.add(rs.getInt("id"));
        record.add(rs.getString("name"));
           record.add(rs.getString("sex"));
           record.add(rs.getString("hobby"));
     res.add(record);
       }
   }
  }catch(SQLException sqle){
   sqle.printStackTrace();
  }finally{
   try{
    if(rs != null){
     rs.close();
    } 
   }catch(SQLException sqle){
    sqle.printStackTrace();
   }
   return res;
  }
 }
 
 public ArrayList getRs(ArrayList al, int id){
  ArrayList tmp = null;
  for(int i=0; i<al.size(); i++){
   if(id == ((ArrayList)al.get(i)).get(0)){
    tmp = (ArrayList)al.get(i);
   }
  }
  return tmp;
 }

 public void closeAll(){
  try{
   if(rs != null){
    rs.close();
   } 
  }catch(SQLException sqle){
   sqle.printStackTrace();
  }finally{
   try{
    if(ps != null){
     ps.close();
    }
   }catch(SQLException sqle){
    sqle.printStackTrace();
   }finally{
    try{
     if(conn != null){
      conn.close();
     }
    }catch(SQLException sqle){
     sqle.printStackTrace();
    }
   }
  }
 }

 public void showRs(ArrayList al){
   if(al != null){
            for(int i=0; i<al.size(); i++){
            System.out.print(((ArrayList)al.get(i)).get(0) + "  ");
                System.out.print(((ArrayList)al.get(i)).get(1) + "  ");
             System.out.print(((ArrayList)al.get(i)).get(2) + "  ");
             System.out.print(((ArrayList)al.get(i)).get(3) + "  ");
             System.out.println(" ");
         }  
     }  
 }
}


import java.sql.*;
import java.util.*;
public class Test{
 public static void main(String[] args){
  
  Mysql m = new Mysql();
//  m.init();
  String sql = "SELECT * FROM stu";
  ArrayList rs = m.getRs(sql);
  if(rs != null){
  System.out.println(rs.size());
   for(int i=0; i<rs.size(); i++){
    System.out.print(((ArrayList)rs.get(i)).get(0) + " ");
    System.out.print(((ArrayList)rs.get(i)).get(1) + " ");
    System.out.print(((ArrayList)rs.get(i)).get(2) + " ");
    System.out.print(((ArrayList)rs.get(i)).get(3) + " ");
    System.out.println(" ");
   }
  }
  ArrayList a = m.getRs(rs,3);
  if(a != null){
   for(int j=0 ;j<4; j++){
    System.out.println(a.get(j)+" ");
   }
  }
  m.closeAll();
 }
}
来自:http://chenhongbin007.blog.163.com/blog/static/34069921200932691146498/

http://www.niftyadmin.cn/n/1051257.html

相关文章

PAT 1065 A+B and C[大数运算][溢出]

1065 AB and C (64bit)&#xff08;20 分&#xff09; Given three integers A, B and C in [−2​63​​,2​63​​], you are supposed to tell whether AB>C. Input Specification: The first line of the input gives the positive number of test cases, T (≤10). The…

JAVA基础篇七(Java,C++中的线程)

讲到线程&#xff0c;Java的线程目前只知道从thread继承&#xff0c;并用start函数启动线程&#xff0c;稍后会多了解JAVA线程相关知识&#xff0c;补充到这一章中。 C的线程在读硕期间用到过多次&#xff0c;下面首先总结一下&#xff1a; 1、C线程 &#xff08;1&#xff0…

OO第二次总结

又经历的三次作业&#xff0c;对于面向对象的理解稍稍有些加深 第五次作业——多线程电梯相比于之前的两次的简单电梯&#xff0c;这次作业的难度上升的幅度非常大&#xff0c;一开始甚至有些盲目&#xff0c;不知道从哪里去下手&#xff0c;最终决定按照第二次、第三次这样的步…

Java并发之CAS与AQS简介

1&#xff0c;什么是CAS CAS(Compare And Swap)&#xff0c;即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制&#xff0c;CAS操作包含三个操作数——内存位置&#xff08;V&#xff09;、预期原值&#xff08;A&#xff09;和新值(B)。如果内存位置的值与预…

JAVA基础篇八(Java,C++中的网络)

基础篇写到这里&#xff0c;C和JAVA的基础知识也要讲完了&#xff0c;至于更深入的使用&#xff0c;则需要单独寻找每种语言特有的类库。 讲到网络&#xff0c;不可避免地要讲TCP/IP的基本使用方法。本文只对两种语言的网络实现做简单介绍&#xff0c;后续学习中如果有详细说明…

Java简易计算器

只实现了加功能。import java.applet.*;import java.awt.*;import java.util.*;import java.awt.event.*;public class Calculator extends Applet implements ActionListener{ Button[] bu_array new Button[10]; TextField result new TextField(30); private in…

skip-grant-tables:非常有用的mysql启动参数

介绍一个非常有用的mysql启动参数—— --skip-grant-tables。顾名思义&#xff0c;就是在启动mysql时不启动grant-tables&#xff0c;授权表。有什么用呢&#xff1f;当然是忘记管理员密码后有用。 操作方法&#xff1a; 1、杀掉原来进行着的mysql&#xff1a; rcmy…

JAVA随笔篇一(Timer源码分析和scheduleAtFixedRate的使用)

写完了基础篇&#xff0c;想了很久要不要去写进阶篇&#xff0c;去写JSP等等的使用方法&#xff0c;最后决定先不去写&#xff0c;因为自己并不是JAVA方面的大牛&#xff0c;目前也在边做边学&#xff0c;所以决定先将自己不懂的拿出来学并记下来。 Timer是Java自带的java.uti…