Java连接MySQL 1、配web.xml,我是把MySQL的连接信息配在web.xml里的 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>mysql_ip</param-name> <param-value>127.0.0.1</param-value> </context-param> <context-param> <param-name>mysql_port</param-name> <param-value>3306</param-value> </context-param> <context-param> <param-name>mysql_name</param-name> <param-value>mytestdb</param-value> </context-param> <context-param> <param-name>mysql_user</param-name> <param-value>root</param-value> </context-param> <context-param> <param-name>mysql_password</param-name> <param-value>123456</param-value> </context-param> </web-app> 2、写一个MySQL连接类 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.servlet.ServletContext; public class MySql { Connection conn; public Connection openDB(ServletContext context){ try { Class.forName("com.mysql.jdbc.Driver"); String url = (new StringBuffer("jdbc:mysql://").append(context.getInitParameter("mysql_ip")).append(":").append(context.getInitParameter("mysql_port")).append("/").append(context.getInitParameter("mysql_name")).toString()); //context.getInitParameter(String str);就是获取web.xml里配的参数 //上面这句输出的话就是jdbc:mysql://127.0.0.1:3306/mytestdb,也可以把用户名和密码也连接上 String username = context.getInitParameter("mysql_user"); String password = context.getInitParameter("mysql_password"); conn = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e){ e.printStackTrace(); } return conn; } public boolean close(){ try { if(conn == null){ return false; } else{ conn.close(); return true; } } catch (SQLException e) { e.printStackTrace(); return false; } } } 3、写一个servlet测试连接 import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ToMsql extends HttpServlet { ResultSet rs = null; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf8"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); MySql db = new MySql(); try{ Connection conn = db.openDB(request.getSession().getServletContext()); String sql = "select * from mytestdb.ttest;"; PreparedStatement cs = conn.prepareStatement(sql); rs = cs.executeQuery(sql); while(rs.next()){ out.println(rs.getInt(1)); out.println(rs.getString(2)); out.println(rs.getString(3)); out.println(rs.getDate(4) + "<br>"); } }catch(SQLException e){ e.printStackTrace(); }finally{ try { if(rs != null){ rs.close(); } if(db!=null){ db.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } }