接下来的实验中,使用数据库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() 方法及时关闭数据连接。
首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”->“属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“”,以与前一个classpath区分开。然后确定。环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。
我是用SQLyog的前端软件来创建Database的。
先创建数据库:
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, ...)
也可以用SQLyog来 *** 作
好了,创建好了。
下面,我们来编写.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)
System.out.println("-----------------")
System.out.println("执行结果如下所示:")
System.out.println("-----------------")
System.out.println(" 学号" + "\t" + " 姓名")
System.out.println("-----------------")
String name = null
while(rs.next()) {
// 选择sname这列数据
name = rs.getString("sname")
/* 何问起 hovertree.com */
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312")
// 输出结果
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()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)