servlet连接mysql数据库。1. 下载mysql驱动. 个人经验觉得驱动, 驱动包是向后兼容的, 下载最新的驱动包即可. 比如我的mysql是mysql5.5.24, 当前最新版本为mysql5.7.2, 最新mysql驱动包为mysql-connector-java-5.1.25-bin.jar(官网上下载), 我直接下载的最新驱动包, 试验证明能够使用.
// 从HttpServlet继承, 并只粘贴了doGet()方法, doPost()方法, 按照servlet实现方法写即可.
public void doGet(HttpServletRequest req, HttpServletResponse res){ String url = “jdbc:mysql://localhost:3306/jytest”; // jytest为mysql里面的数据库名称 Connection con = null; Statement stat = null; ResultSet rs = null; res.setContentType(“text/html;charset=gbk”); // 为解决打印出来的中文乱码 try{ PrintWriter pw = res.getWriter(); try{ // Class.forName(“org.gjt.mm.mysql.Driver”).newInstance(); Class.forName(“com.mysql.jdbc.Driver”); pw.println(“mysql 驱动程序已加载 …”); } catch (Exception ex){ pw.println(“无法加载mysql驱动程序” + ex.getMessage()); return; } try{
// root为mysql用户名, 123456为密码 con = DriverManager.getConnection(url, “root”, “123456″); stat = con.createStatement(); String sqlString = “select * from a”; rs = stat.executeQuery(sqlString); while (rs.next()){
// rs.getString(1), rs.getString(2)为a表中的两个字段 pw.println(rs.getString(1) + ” ” + rs.getString(2)); } rs.close(); stat.close(); con.close(); } catch (SQLException ex){ while (ex != null){ ex.printStackTrace(pw); ex = ex.getNextException(); } } } catch (Exception ex){ ex.printStackTrace(); } }
注: 不需要专门为驱动程序包配置环境变量. 网上一些资料说需要将驱动程序包加入到CLASSPATH中, 大概是在开发桌面应用程序的时候需要, 没有测试过. 经过测试, 在WEB应用程序中是不需要的. 但是java的基本环境需要配置.总之, 不需要额外为驱动程序包配置环境变量.