因为我使用的是MySQL8.0,所以url和之前版本的有所不同,其中mybase是要连接的数据库的名称,&则是&的转义字符第四步:创建JDBCUtils和TestJDBCUtils在com.langsin.jdbcutil包下创建JDBCUtils.java和TestJDBCUtils.java两个文件第五步:写入JDBCUtils和TestJDBCUtilspackage com.langsin.jdbcutil;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import java.sql.*;public class JDBCUtils { private JDBCUtils {} private static Connection con; static { try { //初始化MySQL的Driver类 Class.forName("com.mysql.cj.jdbc.Driver"); //通过dom4j得到xml文件中连接数据库的信息 SAXReader reader = new SAXReader(); Document doc = reader.read("src/JDBC.xml"); Element root = doc.getRootElement(); Element ele = root.element("account"); String url = ele.element("url"); String user = ele.element("user"); String password = ele.element("password"); //连接数据库 con = DriverManager.getConnection(url, user, password); } catch(Exception e) { throw new RuntimeException(e + ",数据库连接失败!"); } } public static Connection getConnection() { return con; } public static void close(Connection con, Statement state) { if(con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } if(state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close(Connection con, Statement state, ResultSet rs) { if(con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } if(state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if(rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } }}package com.langsin.jdbcutil;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;public class TestJDBCUtils { public static void main(String[] args) { Connection con = JDBCUtils.getConnection(); String sql = "SELECT * FROM sort"; //创建PreparedStatement对象,并将sql语句发送到数据库 PreparedStatement pst = con.prepareStatement(sql); //取得执行后的结果集 ResultSet rs = pst.executeQuery(); //输出sort表中第二列的所有数据 while(rs.next()) { System.out.println(rs.getString(2)); } JDBCUtils.close(con, pst, rs); }}好了,到此只要执行程序,控制台上就会输出我们想要的结果了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)