MySQL数据库的JDBC

 

一、下载Java 连接 MySQL 需要驱动包。

最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,
解压后得到jar库文件,然后在对应的项目中导入该库文件。
MySQL数据库的JDBC

关于驱动我想说一点,也是最近实验才发现的,以前都没有发现,总是出现一些驱动连接错误,更加详细了解可以参照点我这篇博文。

二、代码如下:

package com.stu.demo;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;


public class Test01 {

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

// 加载驱动

Class.forName("com.mysql.jdbc.Driver");


// 建立连接

String url = "jdbc:mysql://localhost:3306/mydb";

String user = "root";

String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);


// 获取传输器对象建立会话

String sql = "select * from dept where deptno=?";

// sql = "insert into dept values (?, ?, ?)";

PreparedStatement ps = conn.prepareStatement(sql);

ps.setInt(1, 30);

// ps.setInt(1, 100);


// ps.setString(2, "保洁部");

// ps.setString(3, "全国");


// 输出结果

ResultSet rs = ps.executeQuery();

while (rs.next()) {

System.out.println(rs.getInt(1));

System.out.println(rs.getString(2));

System.out.println(rs.getString(3));

}

//关闭数据库

rs.close();

ps.close();

conn.close();

}

}

三、注意:

1、PreparedStatement是 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。三种方法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数(使用参数会出现SQL语句错误)

2、PreparedStatement 的执行效率高于Statement对象,对于需要多次执行的SQL语句经常使用PreparedStatement 。PreparedStatement可以使用占位符 " ? ",是预编译的,批处理比Statement效率
高。

3、注意PreparedStatement对象独有的executeQuery()方法是没有参数的,而Statement的executeQuery()是需要参数(SQL语句)的。因为在创建PreparedStatement对象时已经让它与一条SQL模板绑定在一起了,所以在调用它的executeQuery()和executeUpdate()方法时就不再需要参数了。PreparedStatement最大的好处就是在于重复使用同一模板,给予其不同的参数来重复的使用它。这才是真正提高效率的原因。