首先要引入 MySQL-connector-java-5.0.5-bin.jar 包,
成都创新互联公司是一家专注于网站建设、成都网站制作与策划设计,萝北网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:萝北等地区。萝北做网站价格咨询:13518219792
package hqs;
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "select * from student";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
String id = null;
while(rs.next()){
//获取stuname这列数据
name = rs.getString("stuname");
//获取stuid这列数据
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//输出结果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("数据库数据成功获取!!");
}
}
}
1. 在开发环境中加载指定数据库的驱动程序。
接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。
2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。
3. 在Java程序中加载驱动程序。
在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”
方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。
4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。
DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC
Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",
"密码”)。
其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
Connection connectMySQL =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"
,"root" );
5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL
语句并返回它所生成结果的对象。
通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =
connection.createStatement(); 具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement();
6. 调用Statement对象的相关方法执行相对应的 SQL
语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:
statement.excuteUpdate( "INSERT INTO
staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,
'M', 'china','Personnel','3','3000' ) ") ;
7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到
ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel =
statement.executeQuery( "select * from staff" );
8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。
Java要连接数据库,那么首先你必须安装mysql数据库,mysql在windows7下面是怎么安装的呢?这里暂时不做详细解析,后面的章节中会解释的
当你安装好mysql之后,那么你现在应该安装JDK了(JDK1.6就可以),
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,如果你是解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
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)
);
然后插入数据,可以用SQL语句insert into 表名 values (value1, value2, ...);
下面,我们来编写.java文件来演示一下如何访问MySQL数据库。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驱动程序名 String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名 String user = "root"; // MySQL配置时的密码 String password = "root";
try { // 加载驱动程序 Class.forName(driver);
// 连续数据库 Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed()) System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句 Statement statement = conn.createStatement();
// 要执行的SQL语句 String sql = "select * from student";
// 结果集 ResultSet rs = statement.executeQuery(sql);
while(rs.next()) // 选择sname这列数据 name = rs.getString("sname
// 输出结果 System.out.println(rs.getString("sno") + "\t" + name); }
rs.close(); conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} } }