一、直接连接,不封装到工具类中,主要步骤:
先导包: 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数据库的用户名与密码,安装时自己设置,一般默认为rootStringuser="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-generatedcatchblocke.printStackTrace();}resultSet=null;}if(statement!=null){try{statement.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}statement=null;}if(connection!=null){try{connection.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}connection=null;}
- /* 协议:子协议://主机:端口/数据库名 */
- String url = "jdbc:mysql://localhost:3306/jdbctest"; // mysql数据库的用户名与密码,安装时自己设置,一般默认为rootString 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 blocke.printStackTrace();}resultSet = null;}if (statement != null) {try {statement.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}statement = null;}if (connection != null) {try {connection.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}connection = null;}}
二、将数据库连接封装成一个工具类
这样做的好处是,在实际开发中,就能做到,改一处即可修改全局。
1. 建一个名为 db.properties 的配置文件,放于 src/
- url = jdbc: mysql: //localhost:3306/jdbctestusername=rootpassword=rootdriver=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);}
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: