JDBC连接MySQL 方法 实例及资料收集
JDBC连接MySQL 方法 实例及资料收集
准备工作
首先,安装MySQL,配置用户名和密码,创建数据库。
可参见之前的文章:
http://www.cnblogs.com/mengdd/p/3154638.html
http://www.cnblogs.com/mengdd/p/3154922.html
准备驱动包
要用JDBC连接MySQL,需要一个驱动包:
可以去这里下载(其实完整安装MySQL后可以在安装路径中找到这个包):
http://www.mysql.com/products/connector/
解压后将其中的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: Tutu
birth: 2013-03-01
-------------
name: Whistler
birth: 1997-12-09
-------------
name: WangWang
birth: 2008-09-30
-------------
name: MiaoMiao
birth: 2012-01-01
参考资料
官方文档:
Java SE Technologies – Database
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136101.html
JDBC Overview
http://www.oracle.com/technetwork/java/overview-141217.html
JDBC API
http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/
Tutorial JDBC basic
http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
Getting Started:
http://docs.oracle.com/javase/1.4.2/docs/guide/jdbc/getstart/GettingStartedTOC.fm.html
The JDBC classes are contained in the Java package java.sql and javax.sql
JDBC教程:
http://www.yiibai.com/jdbc/jdbc-db-connections.html
JDBC连接MySQL 方法 实例及资料收集的更多相关文章
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- 修改sqlarchemy源码使其支持jdbc连接mysql
注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...
- Java编程学习之JDBC连接MySQL
JDBC连接MySQL 一.对JDBC连接数据库的步骤1.加载数据库驱动//加载驱动Class.forName(driverClass)-------------------------------- ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- java jdbc 连接mysql 数据库
JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
随机推荐
- Rxjava基础
现在很多Android App的开发开始使用Rxjava,但是Rxjava以学习曲线陡峭著称,入门有些困难.经过一段时间的学习和使用,这里来介绍一下我对Rxjava的理解. 说到Rxjava首先需要了 ...
- android中AVD的使用
AVD路径设置 前面提到,不管用Eclipse还是从命令行创建Android Emulator时,相应的文件是被放置到 “C:\Documents and Settings\Administrator ...
- Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置
<Windows Azure Platform 系列文章目录> 本文介绍的是国内使用世纪互联运维的Azure China 在笔者之前的文章中,我们知道现在微软官方不建议使用Affinity ...
- 50款免费 PSD 名片设计模板源文件下载《下篇》
名片是陌生人之间建立联系的最便捷.最有效的工具.名片它可能是给你的客户留下正面的印象第一步,另一方面,名片是一个企业最重要和最符合成本效益的营销工具之一,尤其是对于刚刚起步的企业.这里收集了50款免费 ...
- 用Qt写软件系列五:一个安全防护软件的制作(1)
引言 又有许久没有更新了.Qt,我心爱的Qt,为了找工作不得不抛弃一段时间,业余时间来学一学了.本来计划要写一系列关于Qt组件美化的博文,但是写了几篇之后就没坚持下去了.技术上倒是问题不大,主要是时间 ...
- C#控件及常用设计整
C#控件及常用设计整 1.窗体 1 2.Label 控件 3 3.TextBox 控件 4 4.RichTextBox控件 5 5.NumericUpDown 控件 7 ...
- 【原创】Kakfa message包源代码分析
笔者最近在研究Kafka的message包代码,有了一些心得,特此记录一下.其实研究的目的从来都不是只是看源代码,更多地是想借这个机会思考几个问题:为什么是这么实现的?你自己实现方式是什么?比起人家的 ...
- 手机Fildder抓包_监控应用请求
Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指co ...
- 最小生成树---Kruskal/Prime算法
1.Kruskal算法 图的存贮采用边集数组或邻接矩阵,权值相等的边在数组中排列次序可任意,边较多的不很实用,浪费时间,适合稀疏图. 方法:将图中边按其权值由小到大的次序顺序选取,若选边后不 ...
- 为什么很多APP要有启动页面
我们启动APP时,一般都会是一张含有LOGO的图片.这张图片叫做启动页面. 这个启动页面是必须.一定需要的吗?有什么作用? 这是苹果官方对于iOS启动页的设计说明: 为了增强应用程序启动时的用 ...