您的位置:首页 > 编程语言 > Java开发

java通过JDBC连接mysql数据库

2015-12-01 20:32 666 查看
第一步:下载mysql驱动,网址
http://dev.mysql.com/downloads/connector/j/
第二步:讲mysql驱动mysql-connector-java-5.0.5-bin.jar加入到项目的lib目录或者将该文件的路径加入到classpath环境变量里面
第三步:建立数据库
1、安装mysql
2、建立数据库:create database test;
3、创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
4、插入数据
第四步:java程序编写
1、加载驱动:加载想要连接的数据库的驱动到JVM,通过java.lang.Class类的静态方法forName(String className)来实现,加载成功后,Driver类的实例就被注册到DriverManager中
Class.forName("com.mysql.jdbc.Driver").newInstance();
或者
com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
或者
new com.mysql.jdbc.Driver();
2、创建连接对象,该对象就是一个数据库连接
Connection con = DriverManager.getConnection("url", "user", "passwrod");
其中MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值,避免中文乱码要指定useUnicode和characterEncoding。
3、创建申明:创建一个java.sql.Statement实例,Statement实例分为以下三种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
4、执行数据库操作:Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate、和execute。
1、ResultSet executeQuery():执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。 2、int executeUpdate():用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute():用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现代码:
5、处理结果:分两种情况

1、执行更新返回的本次操作影响到的记录数
2、执行查询返回的结果是一个ResultSet对象
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ;
}
6、关闭JDBC对象:操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象

以下是学习时测试代码:
package com.nudt.jdbc;

import java.net.ConnectException;
import java.sql.*;

public class DBUtilDemo{
private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
private static final String USER = "root";
private static final String PASSWD= "nudt2013";

private static Connection conn = null;

static {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL,USER,PASSWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}

public static Connection getConnection(){
return conn;
}

public static void main (String args[])throws Exception{

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");

String result = null;
while(rs.next()){
result = "name:"+rs.getString("user_name")+";age:"+rs.getInt("age");
System.out.println(result);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息