第一步:下载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:主机名称:连接端口/数据库的名称?参数=值,避免中文乱码要指定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); } }}