经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MySQL » 查看文章
MYSQL - JDBC连接
来源:cnblogs  作者:慕冰  时间:2021/4/12 9:47:33  对本文有异议

使用JDBC进行MYSQL数据库连接

一共有六个步骤

1. 加载注册驱动

使用IDEA建立maven工程时,可以直接在pom文件中进行mysql驱动包的导入;若不使用maven进行jar包导入,可自行进行添加;

MySQL驱动的maven坐标:

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <version>8.0.23</version>
  5. </dependency>

在resources文件夹下建立database.properties文件,将数据库信息写入:

  1. driver = com.mysql.cj.jdbc.Driver
  2. url = jdbc:mysql://localhost:3306/zzu?serverTimezone=UTC&characterEncoding=utf-8
  3. user = root
  4. password = XXXX

在util工具类中,利用静态代码块进行驱动的注册

  1. static{
  2. pro = new Properties();
  3. try{
  4. pro.load(jdbcutils.class.getClassLoader().getResourceAsStream("database.properties"));
  5. Class.forName(pro.getProperty("driver"));
  6. }catch(Exception exce){
  7. exce.printStackTrace();
  8. }
  9. }

2. 获取连接

在util工具类中,利用静态方法getConnection来生成数据库连接

  1. public static Connection getConnection(Connection conn){
  2. if(conn == null){
  3. try{
  4. conn = DriverManager.getConnection(pro.getProperty("url"),
  5. pro.getProperty("user"),pro.getProperty("password"));
  6. }catch (Exception e){
  7. System.out.println("获取连接出错");
  8. }
  9. }
  10. return conn;
  11. }

在主函数中,使用工具类util的静态方法getConnection来获取数据库连接

  1. Connection conn = null;
  2. conn = jdbcutils.getConnection(conn);

3. 获取PreparedStatement

利用获取的conn连接来进行PreparedStatem获取

  1. PreparedStatement prop = conn.prepareStatement("select * from userinfo");

4. 执行SQL语句

使用prop进行SQL语句的执行

  1. ResultSet rs = prop.executeQuery();

5. 遍历结果集

使用ResultSet的next()方法来进行结果集的遍历

  1. //括号中的参数名称与数据库表的列名一一对应
  2. while(rs.next()){
  3. int id = rs.getInt("id");
  4. String college = rs.getString("college");
  5. String name = rs.getString("name");
  6. int picId = rs.getInt("pic_id");
  7. System.out.println(id + " " + college + " " + name + " " +picId );
  8. }

6. 关闭连接

在最后进行数据库连接的关闭

在工具类utils中进行数据库关闭静态方法的设计

  1. //先开后关的原则
  2. private static void connClose(Connection conn, ResultSet rs,PreparedStatement prep){
  3. if(rs != null){
  4. try{
  5. rs.close();
  6. }catch (SQLException exception){
  7. exception.printStackTrace();
  8. }finally {
  9. rs = null;
  10. }
  11. }
  12. if(prep != null){
  13. try{
  14. prep.close();
  15. }catch (SQLException exception){
  16. exception.printStackTrace();
  17. }finally {
  18. prep = null;
  19. }
  20. }
  21. if(conn != null){
  22. try{
  23. conn.close();
  24. }catch (SQLException exception){
  25. exception.printStackTrace();
  26. }finally {
  27. conn = null;
  28. }
  29. }
  30. }

通过以上六个步骤可以获取到数据库中的数据,注意数据库配置中的驱动URL时区问题

原文链接:http://www.cnblogs.com/qinmubing/p/14621452.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号