javaweb中mysql数据库连接步骤方法及其实例
程序员文章站
2024-03-01 16:01:16
一、直接连接,不封装到工具类中,主要步骤:
先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面),放在webroot/web...
一、直接连接,不封装到工具类中,主要步骤:
先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面),放在webroot/web-inf/lib/下
1.加载驱动//com.mysql.jdbc.driver
2.获取连接 connection对象
3.获取用于向数据库发送sql的statement对象
4.执行sql,获取数据,解析数据
5.关闭连接,释放资源
/*协议:子协议://主机:端口/数据库名*/ stringurl="jdbc:mysql://localhost:3306/jdbctest"; //mysql数据库的用户名与密码,安装时自己设置,一般默认为root stringuser="root"; stringpassword="root"; connectionconnection=null; statementstatement=null; resultsetresultset=null; try{ //1.加载驱动//com.mysql.jdbc.driver /* *drivermanager.registerdriver(new *driver());用这种方法会加载两次驱动,也就是说会创建两个drive对象 */ class.forname("com.mysql.jdbc.driver"); //2.获取连接 connection=drivermanager.getconnection(url,user,password); //3.获取用于向数据库发送sql的statement对象 statement=connection.createstatement(); //4.执行sql,获取数据 resultset=statement.executequery("select*fromusers;"); //解析数据 while(resultset.next()){ intid=resultset.getint("id"); stringname=resultset.getstring("name"); stringpsd=resultset.getstring("password"); stringemail=resultset.getstring("email"); stringbirthday=resultset.getstring("birthday"); system.out.println(id+""+name+""+psd+""+email +""+birthday); } }catch(classnotfoundexceptione){ e.printstacktrace(); }catch(sqlexceptione){ e.printstacktrace(); }finally{ //5.关闭连接,释放资源 if(resultset!=null){ try{ resultset.close(); }catch(sqlexceptione){ //todoauto-generatedcatchblock e.printstacktrace(); } resultset=null; } if(statement!=null){ try{ statement.close(); }catch(sqlexceptione){ //todoauto-generatedcatchblock e.printstacktrace(); } statement=null; } if(connection!=null){ try{ connection.close(); }catch(sqlexceptione){ //todoauto-generatedcatchblock e.printstacktrace(); } connection=null; } /* 协议:子协议://主机:端口/数据库名 */ string url = "jdbc:mysql://localhost:3306/jdbctest"; // mysql数据库的用户名与密码,安装时自己设置,一般默认为root string user = "root"; string password = "root"; connection connection = null; statement statement = null; resultset resultset = null; try { // 1.加载驱动//com.mysql.jdbc.driver /* * drivermanager.registerdriver(new * driver());用这种方法会加载两次驱动,也就是说会创建两个drive对象 */ class.forname("com.mysql.jdbc.driver"); // 2.获取连接 connection = drivermanager.getconnection(url, user, password); // 3.获取用于向数据库发送sql的statement对象 statement = connection.createstatement(); // 4.执行sql,获取数据 resultset = statement.executequery("select * from users;"); // 解析数据 while (resultset.next()) { int id = resultset.getint("id"); string name = resultset.getstring("name"); string psd = resultset.getstring("password"); string email = resultset.getstring("email"); string birthday = resultset.getstring("birthday"); system.out.println(id + " " + name + " " + psd + " " + email + " " + birthday); } } catch (classnotfoundexception e) { e.printstacktrace(); } catch (sqlexception e) { e.printstacktrace(); } finally { //5.关闭连接,释放资源 if (resultset != null) { try { resultset.close(); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } resultset = null; } if (statement != null) { try { statement.close(); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } statement = null; } if (connection != null) { try { connection.close(); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } connection = null; } }
二、将数据库连接封装成一个工具类
这样做的好处是,在实际开发中,就能做到,改一处即可修改全局。
1.建一个名为db.properties的配置文件,放于src/
url=jdbc:mysql://localhost:3306/jdbctest username=root password=root driver=com.mysql.jdbc.driver
2.工具类:
importjava.io.ioexception; importjava.sql.connection; importjava.sql.drivermanager; importjava.sql.resultset; importjava.sql.sqlexception; importjava.sql.statement; importjava.util.properties; publicclassjdbcutil{ //私有静态变量,用以读取配置文件 privatestaticpropertiesconfig=newproperties(); static{ try{ //配置资源文件 config.load(jdbcutil.class.getclassloader().getresourceasstream("db.properties")); //加载驱动 class.forname(config.getproperty("driver")); }catch(ioexceptione){ e.printstacktrace(); }catch(classnotfoundexceptione){ e.printstacktrace(); } } publicstaticconnectiongetconnection(){ connectionconnection=null; try{ connection=drivermanager.getconnection(config.getproperty("url"),config.getproperty("username"),config.getproperty("password")); }catch(sqlexceptione){ e.printstacktrace(); } returnconnection; } //用以关闭连接,释放资源 publicstaticvoidreleaseconn(connectionconnection,statementstatement, resultsetresultset){ if(resultset!=null){ try{ resultset.close(); }catch(sqlexceptione){ e.printstacktrace(); } resultset=null; } if(statement!=null){ try{ statement.close(); }catch(sqlexceptione){ e.printstacktrace(); } statement=null; } if(connection!=null){ try{ connection.close(); }catch(sqlexceptione){ e.printstacktrace(); } connection=null; } } }
3.使用实例:
connectionconnection=null; statementstatement=null; resultsetresultset=null; try{ //调用工具类中的静态方法来获取连接 connection=jdbcutil.getconnection(); statement=connection.createstatement(); resultset=statement.executequery("select*fromusers"); while(resultset.next()){ intid=resultset.getint("id"); stringname=resultset.getstring("name"); stringpsd=resultset.getstring("password"); stringemail=resultset.getstring("email"); stringbirthday=resultset.getstring("birthday"); system.out.println(id+""+name+""+psd+""+email +""+birthday); } }catch(exceptione){ e.printstacktrace(); }finally{ //调用工具类中的静态方法来关闭连接,释放资源 jdbcutil.releaseconn(connection,statement,resultset); }
希望本文可以对需要的朋友有帮助