JDBC的基本应用
下载并配置好JDBC驱动后,我们可以来使用。
一、连接数据库
使用JDBC连接数据库存取数据时,要执行三个步骤:
- 加载及注册适当的JDBC驱动程序
加载使用
Class.forName();
加载完成后,驱动程序会建立一个Driver对象,并且会让DriverManager.rigisterDriver()自动注册这个对象。
在JDBC中用URL来标识数据库,
jdbc:<子协议>:<子名称>
使用MySQL时,语法如下
jdbc:mysql://hostname:port/databasename?param=value1
子协议:mysql
子名称://hostname:port/databasename?param=value1,其中param可以有多个。
实例如:
jdbc:mysql://localhost:3306/sample?user=root&password=root;
- 建立到指定的数据库的连接对象
有两种方法:
1.
String url = "jdbc:mysql://localhost:3306/sample?user=root&password=root";
Connection con = DriverManager.getConnection(url);
2.
String url = "jdbc:mysql://localhost:3306/sample";
String user ="root";
String password="root";
Connection con = DriverManager.getConnection(url,user,password);
- 提交数据库查询和取得查询对象
在取得数据库的连接对象后,就可以由它来创建一个陈述对象,其主要用来 传送 SQL语句到数据库服务器和执行Sql语句。
如下:
Statement stmt= con.createStatement();
Statement对象有有三种执行语句的方法:
executeQuery():执行查询。
executeUpdate():执行更新。
execute():不知道正要执行的是什么时。
执行后数据库会返回一个ResultSet集合对象到JDBC中。原理如下:
Connection ------>PreparedStatement-------->ResultSet
|------>Statement----------------->ResultSet
|-------->CallableStatement------>ResultSet
二、使用代码连接数据库
我们先建立一个testmysql的数据库,里面有一个student表。
//建立
create databse testmysql;
//查看
show databases;
//建立表
user testmysql;
create table student( id int(3), name char(20), sex boolean);
//加入数据
insert into student (‘1‘, ‘lishengjing‘,‘1‘);
//查看数据
select * from student ;
然后我们在本项目中加载 jdbc,右键项目,选择build path 里面的user library中的MySQL.
最后是编码。如下
package chuiyuan;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCExample {
public static void main(String args[]){
try {
Class.forName("com.mysql.jdbc.Driver") ;
String url = "jdbc:mysql://localhost:3306/testmysql?user=root&password=chuiyuan" ;
Connection connection = DriverManager.getConnection(url) ;
Statement stmt = connection.createStatement() ;
ResultSet rs = stmt.executeQuery("select * from student");
while (rs.next()) {
System.out.println("student number:"+rs.getInt(1));
System.out.println("student name:"+rs.getString(2));
System.out.println("stutent sex:"+ rs.getBoolean(3)+"\n");
}
rs.close();
stmt.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。