DBConn.java
上传用户:nbluoke
上传日期:2013-08-09
资源大小:4851k
文件大小:6k
源码类别:

教育系统应用

开发平台:

WORD

  1. //DBConn.java
  2. //include required classes
  3. import java.sql.*;
  4. //==========================================
  5. // Define Class DBConn
  6. //==========================================
  7. public class DBConn
  8. {
  9.  public String sql_driver = "org.gjt.mm.mysql.Driver";
  10.  public String sql_url = "jdbc:mysql://localhost:3306";
  11.  public String sql_DBName = "jinghua";
  12.  public String user = "sa";
  13.  public String Passwd = "";
  14.  Connection conn = null;
  15.  Statement stmt = null;
  16.  ResultSet rs = null;
  17.  public boolean setDriver(String drv)
  18.  {
  19.   this.sql_driver = drv;
  20.   return true;
  21.  }
  22.  public String getDriver()
  23.  {
  24.   return this.sql_driver;
  25.  }
  26.  public boolean setUrl(String url)
  27.  {
  28.   this.sql_url = url;
  29.   return true;
  30.  }
  31.  public boolean setDBName(String dbname)
  32.  {
  33.   this.sql_DBName = dbname;
  34.   return true;
  35.  }
  36.  public String getDBName()
  37.  {
  38.   return this.sql_DBName;
  39.  }
  40.  public boolean setUser(String user)
  41.  {
  42.   this.user = user;
  43.   return true;
  44.  }
  45.  public String getUser()
  46.  {
  47.   return this.user;
  48.  }
  49.  public boolean setPwd(String Passwd)
  50.  {
  51.   this.Passwd = Passwd;
  52.   return true;
  53.  }
  54.  public String getPwd()
  55.  {
  56.   return this.Passwd;
  57.  }
  58.  public DBConn()
  59.  {
  60.   try{
  61.    Class.forName(sql_driver);//加载数据库驱动程序
  62.    this.conn = DriverManager.getConnection(sql_url + "/" + sql_DBName + "?user=" + user + "&password=" + Passwd + "&useUnicode=true&characterEncoding=gb2312");
  63.    this.stmt = this.conn.createStatement();
  64.   }catch(Exception e){
  65.    System.out.println(e.toString());
  66.   }
  67.  }
  68.                 //执行查询操作
  69.  public ResultSet executeQuery(String strSql)
  70.  {
  71.   try{
  72.    this.rs = stmt.executeQuery(strSql);
  73.    return this.rs;
  74.   }catch(SQLException e){
  75.    System.out.println(e.toString());
  76.    return null;
  77.   }catch(NullPointerException e){
  78.    System.out.println(e.toString());
  79.    return null;
  80.   }
  81.  }
  82.                 //执行数据的插入、删除、修改操作
  83.  public boolean execute(String strSql)
  84.  {
  85.   try{
  86.    if(this.stmt.executeUpdate(strSql) == 0)
  87.     return false;
  88.    else
  89.     return true;
  90.   }catch(SQLException e){
  91.    System.out.println(e.toString());
  92.    return false;
  93.   }catch(NullPointerException e){
  94.    System.out.println(e.toString());
  95.    return false;
  96.   }
  97.  }
  98.                 //结果集指针跳转到某一行
  99.  public boolean rs_absolute(int row)
  100.  {
  101.   try{
  102.    this.rs.absolute(row);
  103.    return true;
  104.   }catch(SQLException e){
  105.    System.out.println(e.toString());
  106.    return false;
  107.   }
  108.  }
  109.  public void rs_afterLast()
  110.  {
  111.   try{
  112.    this.rs.afterLast();
  113.   }catch(SQLException e){
  114.    System.out.println(e.toString());
  115.   }
  116.  }
  117.  public void rs_beforeFirst()
  118.  {
  119.   try{
  120.    this.rs.beforeFirst();
  121.   }catch(SQLException e){
  122.    System.out.print(e.toString());
  123.   }
  124.  }
  125.  public void rs_close()
  126.  {
  127.   try{
  128.    this.rs.close();
  129.   }catch(SQLException e){
  130.    System.out.print(e.toString());
  131.   }
  132.  }
  133.  public void rs_deleteRow()
  134.  {
  135.   try{
  136.    this.rs.deleteRow();
  137.   }catch(SQLException e){
  138.    System.out.print(e.toString());
  139.   }
  140.  }
  141.  public boolean rs_first()
  142.  {
  143.   try{
  144.    this.rs.first();
  145.    return true;
  146.   }catch(SQLException e){
  147.    System.out.print(e.toString());
  148.    return false;
  149.   }
  150.  }
  151.  public String rs_getString(String column)
  152.  {
  153.   try{
  154.    return this.rs.getString(column);
  155.   }catch(SQLException e){
  156.    System.out.println(e.toString());
  157.    return null;
  158.   }
  159.  }
  160.                 //此方法用于获取大段文本,
  161.                 //将其中的回车换行替换为<br>
  162.                 //输出到html页面
  163.  public String rs_getHtmlString(String column)
  164.  {
  165.   try{
  166.    String str1 = this.rs.getString(column);
  167.    String str2 = "rn";
  168.    String str3 = "<br>";
  169.    return this.replaceAll(str1,str2,str3);
  170.   }catch(SQLException e){
  171.    System.out.println(e.toString());
  172.    return null;
  173.   }
  174.  }
  175.  
  176.                 //把str1字符串中的str2字符串替换为str3字符串
  177.  private static String replaceAll(String str1,String str2,String str3)
  178.  {
  179.   StringBuffer strBuf = new StringBuffer(str1);
  180.      int index=0;
  181.   while(str1.indexOf(str2,index)!=-1)
  182.   {
  183.    index=str1.indexOf(str2,index);
  184.    strBuf.replace(str1.indexOf(str2,index),str1.indexOf(str2,index)+str2.length(),str3);
  185.    index=index+str3.length();
  186.     str1=strBuf.toString();
  187.   }
  188.   return strBuf.toString();
  189.  } 
  190.  public int rs_getInt(String column)
  191.  {
  192.   try{
  193.    return this.rs.getInt(column);
  194.   }catch(SQLException e){
  195.    System.out.println(e.toString());
  196.    return -1;
  197.   }
  198.  }
  199.  public int rs_getInt(int column)
  200.  {
  201.   try{
  202.    return this.rs.getInt(column);
  203.   }catch(SQLException e){
  204.    System.out.println(e.toString());
  205.    return -1;
  206.   }
  207.  }
  208.  public boolean rs_next()
  209.  {
  210.   try{
  211.    return this.rs.next();
  212.   }catch(SQLException e){
  213.    System.out.println(e.toString());
  214.    return false;
  215.   }
  216.  }
  217.                 //判断结果集中是否有数据
  218.  public boolean hasData()
  219.  {
  220.   try{
  221.    boolean has_Data = this.rs.first();   
  222.    this.rs.beforeFirst();
  223.    return has_Data;
  224.   }catch(SQLException e){
  225.    System.out.println(e.toString());
  226.    return false;
  227.   }
  228.  }
  229.  public boolean rs_last()
  230.  {
  231.   try{
  232.    return this.rs.last();
  233.   }catch(SQLException e){
  234.    System.out.println(e.toString());
  235.    return false;
  236.   }
  237.  }
  238.  public boolean rs_previous()
  239.  {
  240.   try{
  241.    return this.rs.previous();
  242.   }catch(Exception e){
  243.    System.out.println(e.toString());
  244.    return false;
  245.   }
  246.  }
  247.                 //main方法,调试用
  248.  public static void main(String args[])
  249.  {
  250.   try{
  251.    DBConn myconn = new DBConn();
  252.    //myconn.setDBName("shopping");
  253.    //myconn.DBConn();
  254.    //myconn.execute("Insert Into tbl_test(ID,UserID) values('10','shandaer')");
  255.    //myconn.execute("Update tbl_test set UserID='yyyyyyyyyyyy' where ID=10");
  256.    //myconn.execute("Delete from tbl_test where ID=1");
  257.    ResultSet rs = myconn.executeQuery("select * from sysadmin order by ID desc limit 1");
  258.    //boolean hasData = myconn.hasData();
  259.    //System.out.println("has data:" + hasData);
  260.    //rs.first();
  261.    while (myconn.rs.next())  
  262.    {
  263.     int ID = myconn.rs_getInt("ID") + 1;
  264.     System.out.print(ID);
  265.     System.out.println(myconn.rs_getInt("ID") + myconn.rs_getString("UserID"));
  266.     
  267.     //System.out.println('n' + myconn.rs_getHtmlString("UserID"));
  268.     //System.out.println(myconn.rs.getString("UserID") + myconn.rs_getInt(1));
  269.    }
  270.   }catch(Exception e){
  271.    System.err.println(e.toString());
  272.   }
  273.  }
  274.  
  275. }