时间:2021-07-01 10:21:17 帮助过:18人阅读
数据库连接,负责与数据库间通讯
Statement
用以执行不含参数的静态SQL查询和更新,并返回执行结果
PreparedStatement
用以执行包含参数的动态SQL查询和更新
CallableStatement
用以获得数据库的存储过程
ResultSet
获得SQL查询结果
【注】使用JDBC访问数据库的基本步骤为:加载驱动程序、建立与数据库的连接、创建执行方式语句、执行SQL语句、处理返回结果和关闭创建的各种对象。
4、 建立与数据库的连接
(1) 加载JDBC驱动程序:利用Class.forName(JDBCDriverClass);
forName()是Class的静态方法,参数JDBCDriverClass是要加载的JDBC驱动程序类的名称,它是以字符串形式表达的类长名。
数据库的常用驱动程序类 |
|
数据库 |
驱动程序类 |
Access |
sun.jdbc.odbc.JdbcOdbcDriver |
SQL Server |
com.microsoft.sqlserver.jdbc.SQLServerDriver |
MySQL |
com.mysql.jdbc.Driver |
Oracle |
oracle.jdbc.driver.OracleDriver |
Eg:
Class.froName(“com.mysql.jsbd.Driver”);//加载MySQL数据库驱动
【注】创建数据库连接时Driver Manager类的常用方法
Public static Connection getConnection(String url,String user,String password);
url为链接数据库的url连接,用户名和密码为登录数据库的用户名和密码
DriverManager类的getConnection()是实现建立JDBC驱动程序到数据库连接的方法一般格式如下:
Connection conn=DriverManager.getConnection(url,user,password);
JDBC的URL |
|
数据库 |
URL模式 |
Access |
jdbc:odbc:dataSource |
SQL Server |
jdbc:sqlserver://hostname:port#;DatabaseName=dbname |
MySQL |
jdbc:mysql://hostname:3306/dbname |
Oracle |
jdbc:oracle:thin:@hostname:port#:oracleDBSID |
例如连接MySQL数据库的操作:
Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/Student”,”root”,”123456”);
package com.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class dataBaseConnection {
//要加载的驱动类型
private static String driver="com.mysql.jdbc.Driver";
//连接数据库的URl
private static String url="jdbc:mysql://localhost:3306/foods";
//登录数据库的用户名
private static String user="root";
//登录数据库的密码
private static String password="root";
public static void main(String[] args) {
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
String selectsql ="select * from foods where CategoryId=1";
try {
//加载驱动,同时需要在项目中add libraries连接驱动程序mysql-connector-java-5.1.26-bin.jar
Class.forName(driver);
//创建数据库连接
//conn=DriverManager.getConnection(url);这是错误方式,数据库登录用户名和密码没有添加
conn=DriverManager.getConnection(url,user,password);
//利用连接对象conn创建Statement接口对象,类似于游标的作用
stm=conn.createStatement();
//将sql语句作为参数传递给Statement的查询方法
rs=stm.executeQuery(selectsql);
//遍历查询结果集中的元素
while(rs.next()){
//利用集合中的getXXX(Colum)方法获得数据库表中Colum的内容
int foodsId=rs.getInt("FoodsId");
int CategoryId=rs.getInt("CategoryId");
String ChineseName=rs.getString("ChineseName");
String English=rs.getString("English");
String Description=rs.getString("Discription");
System.out.println(foodsId+" "+CategoryId+" "+ChineseName+" "+English+" "+Description);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//关闭结果集对象
if(rs!=null) rs.close();
//关闭Statement对象
if(stm!=null) stm.close();
//关闭JDBC与数据库的连接对象
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
数据库SQL的基础知识及java连接数据库的基本操作过程
标签:callable creat body 方法 hone 遍历 esc let local