Linux下jdbc連線mysql
阿新 • • 發佈:2019-01-10
經過一天時間的摸索終於搞定了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,否則你得不到新的結果。
一,安裝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,否則你得不到新的結果。