您的位置:首页 > 运维架构 > Linux

Linux下jdbc连接mysql

2006-01-04 23:38 597 查看
    经过一天时间的摸索终于搞定了java服务器小程序连接mysql的问题。当然过程是郁闷的,还好最后做出来了。完成过程中参阅了网上一位朋友的经验,在此表示一下感谢。下面简单地总结一下:

一,安装jdbc驱动
   探索并下载jdbc驱动,解压出一个文件夹。一般里面有它的源码和打包文件。直接把那个jar文件copy到你的jdk下的lib中,并修改一下classpath,把这个jar文件包括到classpath中。假如那个jar文件是jdbc.jar,那你的classpath中添加一下:
    $JAVA_HOME/lib/jdbc.jar

二,把上面的那个jar文件放到tomcat中的your/tomcat/common/lib和your/tomcat/share/lib下。

三,注销,使classpath有效。

四,按照上面的设置一般来说已经是可以用的了。可以先用一个程序测试一下。
  1。先开启MYSQL--./musql.server start
  2。一般你刚解开的jdbc驱动中都有几个测试程序,它们会用test数据据进行测试。你只要运行一下那个class文件就可以了。
  3。现在开始你的服务器小程序测试。先运行tomcat--./startup.sh
  4。编写一个java程序:代码如下:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class MySqlNamesTest extends HttpServlet
{
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>MySql Test</title>");
        out.println("</head>");
        out.println("<h1>A list of names from a <br>MySql table</H1>");
        out.println("<table border = /"1/" cellpadding=/"5/""
            + " cellspacing=/"0/" width=/"300/">");
        out.println("<tr><td><b>First Name</b></td><td><b>"
            +"Last Name</b></td></tr>");

        String connectionURL = "jdbc:mysql://localhost:3306/LaxsongTest";
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            connection = DriverManager.getConnection(connectionURL,"root","");
            statement = connection.createStatement();
            resultSet = statement.executeQuery("select FirstName,LastName from Name "+"order by lastName,FirstName");
        while(resultSet.next()){
            out.println(
            "<tr><td>"
            + resultSet.getString("FirstName")
            +"</td><td>"
            + resultSet.getString("lastName")
            + "</td></tr>");
        }
        if(resultSet!=null){
            resultSet.close();
        }
        }catch(ClassNotFoundException e){
            System.out.println(
            "couldn`t find the mm "+"database driver:"
            + e.getMessage());
        }catch(InstantiationException e){
            System.err.println(e.getMessage());
        }catch(IllegalAccessException e){
            System.err.println(e.getMessage());
        }catch(SQLException e){
            System.err.println("SQL Problem :" +e.getMessage());
            System.err.println("SQL State :"+e.getSQLState());
            System.err.println("Vendor Error: "+e.getErrorCode());
        }finally{
            try{
                if(connection !=null){
                    connection.close();
                }
            }catch(SQLException e){
                System.err.println(e.getMessage());
            }
        }
        out.println("<body>");
        out.println("</body>");
        out.println("</html>");
    }

    /*public static void main(String args[])
    {
        //HttpServletRequest request;HttpServletResponse response;
        MySqlNamesTest m= new MySqlNamesTest();
        //m.doGet(request,response);
    }*/
}
  5。编译一下生成一个class文件。把这个class文件放到你的INT-WEB下的classes中,并配置一下web.xml文件。
  6。打开浏览器,输入正确的地址来检测。
  7。如果得不到想要的结果,那么可以打开catalina.out来看看什么地方出了问题。一般这里的提示足够你找到错误所在。
  8。如果修改一原程序,并新编译生成了class文件,那么替换掉原来的class文件后,请重新运行tomcat,否则你得不到新的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息