日期:2014-05-17  浏览次数:20736 次

数据库求教
package com.cdd.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
    private Connection con; //定义数据库连接对象
    private Statement stm; //定义Statement对象
    private ResultSet rs; //定义查询结果集ResultSet对象
    private String classname="com.mysql.jdbc.Driver"; //加载数据库驱动代码
    private String url="jdbc:mysql://localhost:3306/db_database07"; //连接数据库URL
    public DB(){}
    public Connection getCon(){        //定义获取数据库连接方法
     try{
     Class.forName(classname);
     }
     catch(ClassNotFoundException e){
     e.printStackTrace();
     }
     try{
         con=DriverManager.getConnection(url,"root","");
     }
     catch(Exception e){
         e.printStackTrace(System.err);
     con=null;
     }
     return con;
    }
 
   public Statement getStmed(){ //实例化Statement方法
     try{
        con=getCon(); //调用获取数据库连接方法
        stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     }catch(Exception e){e.printStackTrace(System.err);}
     return stm;
    }
   public ResultSet getAllRs(){ //定义获取查询结果集方法
    String sql="select * from tb_use"; //定义查询语句
try{
stm=getStmed();
rs=stm.executeQuery(sql); //执行查询语句
}
catch(SQLException e){e.printStackTrace();rs=null;}
return rs;
}   
}


数据库都比较模块化了,小弟不明白的是加粗部分con=getCon();,为什么函数可以直接调用(赋值?),不用con=new DB().getCon()吗?在线等
------解决方案--------------------
你这是同一个类中的,可以直接调用的。