JDBC介绍
JDBC是JAVA数据库连接(Java DataBase Connectivity)的缩写,是一组用于连接数据库以及执行SQL语句的API。它允许用户从JAVA程序中访问任何支持SQL的关系型数据库,也允许用户访问其他的表格数据源,如Excel表格。JDBC为不同的数据库连接模块的前端提供了统一的接口。
JDBC操作数据库的流程如下:
- 通过DriverManager类建立于数据源的连接;
- 通过Statement或者PreparedStatement类向数据源发送SQL命令,并返回结果;
- 处理结果;
JDBC与数据源连接,需要所连接数据源的驱动程序。JDBC有四种连接方式:
- JDBC-ODBC桥接方式;
- 本地API部分JAVA驱动方式;
- JDBC-NET纯JAVA驱动方式;
- 本地协议纯JAVA驱动方式;
下载MYSQL驱动
本文将使用JDBC驱动方式连接MYSQL,首先去MYSQL官网下载MYSQL驱动,目前最新的是 mysql-connector-java-3.1.14.zip。解压并把解压后的文件 "mysql-connector-java-3.1.14-bin.jar"放在"d:\"
JAVA编码
d:\Main.java 代码如下:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) { Connection con = null; Statement smt; try{ Class.forName("com.mysql.jdbc.Driver"); //加载JDBC MYSQL驱动 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javatemp","root","root"); //建立数据库连接 smt=con.createStatement();//创建Statement对象 smt.executeUpdate("insert into users(username) values('beston')"); //执行SQL命令 System.out.println("插入数据成功"); //打印提示 ResultSet res=smt.executeQuery("select * from users"); //执行SQL命令并获得结果集 while(res.next()){ //处理结果集 System.out.println("userid:"+res.getInt("userid")+"\t"+"username:"+res.getString("username")); } res.close(); //关闭结果集连接的数据并释放JDBC资源 }catch(Exception ex){ ex.printStackTrace(); //打印异常信息 }finally{ if(con!=null){ try{ con.close(); //关闭数据库连接 }catch(Exception ex){ ex.printStackTrace(); } } } } }
数据表结构
users表结构如下:
CREATE TABLE IF NOT EXISTS `users` ( `userid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(11) NOT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
编译执行
编译命令:
javac -classpath .;d:\mysql-connector-java-3.1.14-bin.jar Main.java
执行命令:
javac -classpath .;d:\mysql-connector-java-3.1.14-bin.jar Main
显示信息
插入数据成功 userid:1 username:beston