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 ...
随机推荐
- solr:快速开始
本文已挪至 http://www.zhoujingen.cn/blog/8535.html 明年工作主要和搜索有关,在自己学习过程中分享让更多人受益是我一贯的做法,所以我会把对Solr的学习在这里与 ...
- 理解SQL Server是如何执行查询的 (2/3)
查询执行的内存授予(Query Execution Memory Grant) 有些操作符需要较多的内存才能完成操作.例如,SORT.HASH.HAS聚合等.执行计划通过操作符需要处理数据量的预估值( ...
- SQL约束
SQL约束: 非空约束:就是不能为null: 主键约束(PK):唯一,不重复,并且不为空: 唯一约束:唯一,允许为空,但只能出现一次: 默认约束:如果不给值,默认值: 检查约束:范围以及格式限制: 外 ...
- C语言编译过程
GCC编译C源码有四个步骤: 预处理-----> 编译 ----> 汇编 ----> 链接 一. 编译和链接的流程 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在 ...
- Dapper学习 - Dapper.Rainbow(三) - Read
前面已经介绍了新增/修改/删除了, 接下来介绍一下Rainbow的Read方法. 一.Read -- Rainbow原生 1. 先看测试代码 var conStr = ConfigurationMan ...
- jQuery的Ajax请求数据时type无法使用GET
写一个ASP.NET MVC例子,它是使用jQuery的$.Ajax来呼叫控制器的数据. 创建一个视图: 运行结果: 一切正常,但是本例子我们只是获取数据,并没有做任何数据POST上传至控制器,我们尝 ...
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
- 使用Unity3d做异形窗口
项目马上上线,因为之前的登录器是使用VS2010的MFC做的,在很多电脑上会提示缺失mfcXXXX.dll,中间找寻这种解决方案,最后确定将vcredist2010_x86和我的程序打包到安装包里面, ...
- Jquery请求Ajax的json数据
获得单个json对象 $.getJSON("test.js", { name: "John", time: "2pm" }, funct ...
- JMS中的消息通信模型
1. MQ简介: 消息队列(Message Queue,简称MQ),是应用程序与应用程序之间的一种通信方法.应用程序通过发送和检索出入列队的针对应用程序的数据 - 消息来通信,而无需专用连接来链接它们 ...