
JDBC连接MySQL 方法 实例及资料收集
发布日期:2021-05-09 05:16:56
浏览次数:11
分类:博客文章
本文共 4259 字,大约阅读时间需要 14 分钟。
JDBC连接MySQL 方法 实例及资料收集
准备工作
首先,安装MySQL,配置用户名和密码,创建数据库。
可参见之前的文章:
准备驱动包
要用JDBC连接MySQL,需要一个驱动包:
可以去这里下载(其实完整安装MySQL后可以在安装路径中找到这个包):
解压后将其中的mysql-connector-java-XXX-bin.jar文件加入到Web Project的lib中:
JDBC代码编写
首先,需要加载驱动:
// 加载驱动Class.forName("com.mysql.jdbc.Driver");
然后,建立连接:
String dbUrl = "jdbc:mysql://localhost:3306/mydatabase1";String dbUser = "your_username";String dbPwd = "your_password";// 打开数据库连接con = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
注意其中的端口号和数据库名(mydatabase1)可能需要修改。
JDBC连接不同数据库:
之后就可以执行SQL语句了。
最后要记得关闭资源。
实践程序
完整Helper类代码(感谢ZJL同学无私奉献悉心指导):
package com.meng.utils;import java.sql.*;public class JDBCHelper{ private Connection con = null; private PreparedStatement stmt = null; private ResultSet rs = null; public JDBCHelper() { try { // 加载驱动 Class.forName("com.mysql.jdbc.Driver"); String dbUrl = "jdbc:mysql://localhost:3306/mydatabase1"; String dbUser = "mengdd"; String dbPwd = "881103"; // 打开数据库连接 con = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } catch (ClassNotFoundException e) { System.out.println("Error: unable to load driver class!"); System.out .println("please check if you hava the mysql-connector jar file in your lib dir!"); e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public ResultSet executeResultSet(String sql) { return executeResultSet(sql, null); } public ResultSet executeResultSet(String sql, Object[] params) { try { // 创建一个JDBC声明 stmt = con.prepareStatement(sql); if (null != params && params.length != 0) { for (int i = 0; i < params.length; i++) { stmt.setObject(i + 1, params[i]); } } rs = stmt.executeQuery(); return rs; } catch (Exception ex) { throw new RuntimeException(ex.getMessage(), ex); } } public int executeUpdate(String sql) { return executeUpdate(sql, null); } public int executeUpdate(String sql, Object[] params) { try { // 创建一个JDBC声明 stmt = con.prepareStatement(sql); if (null != params && params.length != 0) { for (int i = 0; i < params.length; i++) { stmt.setObject(i + 1, params[i]); } } return stmt.executeUpdate(); } catch (Exception ex) { throw new RuntimeException(ex.getMessage(), ex); } } public void close() { try { // 应该明确地关闭所有的数据库资源 if (null != rs) rs.close(); if (null != stmt) stmt.close(); if (null != con) con.close(); } catch (SQLException e) { throw new RuntimeException(e); } }}
测试代码:
package com.meng.test;import java.sql.ResultSet;import java.sql.SQLException;import com.meng.utils.JDBCHelper;public class Test{ public static void main(String[] args) { JDBCHelper dbHelper = new JDBCHelper(); ResultSet resultSet = dbHelper.executeResultSet("SELECT * FROM pet;"); try { while (resultSet.next()) { System.out.println("-------------"); System.out.println("name: " + resultSet.getString("name")); System.out.println("birth: " + resultSet.getString("birth")); } } catch (SQLException e) { e.printStackTrace(); } finally { dbHelper.close(); } }}
结果:
-------------name: Tutubirth: 2013-03-01-------------name: Whistlerbirth: 1997-12-09-------------name: WangWangbirth: 2008-09-30-------------name: MiaoMiaobirth: 2012-01-01
参考资料
官方文档:
Java SE Technologies – Database
JDBC Overview
JDBC API
Tutorial JDBC basic
Getting Started:
The JDBC classes are contained in the and
JDBC教程:
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月17日 14时58分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ES6通过Set数组去重
2019-03-06
春风下也有落叶
2019-03-06
更聪明地学习,而不是苦读——《如何高效学习》
2019-03-06
[IDEA] IntelliJ IDEA 安装教程
2019-03-06
XNA实现骨骼动画 归纳总结
2019-03-06
Java读书笔记06 继承
2019-03-06
Java读书笔记08 接口
2019-03-06
Java 多线程(六) synchronized关键字详解
2019-03-06
《Head First设计模式》 读书笔记17 其余的模式(三) 备忘录 原型 访问者
2019-03-06
XML的DOM解析 Java实现 使用递归解析一个XML文档
2019-03-06
第一个Servlet程序
2019-03-06
JDBC连接MySQL 方法 实例及资料收集
2019-03-06
Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
2019-03-06
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
2019-03-06
Android中的Interpolator
2019-03-06
Java虚拟机JVM学习07 类的卸载机制
2019-03-06
JavaScript单元测试框架JsUnit基本介绍和使用
2019-03-06
[DOM Event Learning] Section 4 事件分发和DOM事件流
2019-03-06
Mockito Hello World
2019-03-06
Material Design Animation
2019-03-06