一. 简介:
JDBC = Java DataBase Connectivity
JDBC提供了一个标准的程序库来访问关系数据库(relational databases)
二. 简单Demo:
目的:从mysql的表中查询信息,如下图:
步骤:
1. 新建maven工程mysqlDemo
2. pom.xml添加2个包
<!--添加servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- 添加mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
</dependency>
3. 使用JDBC,共7个步骤
package test;
import java.sql.*;
public class JdbcDemo
{
public static void main(String[] args)
{
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/database1";
String username = "root";
String password = "641018";
String sql = "select * from user";
try
{
// 1.加载驱动
Class.forName(driver);
// 2.定义连接URL(在上面)
// 3.建立connection
Connection con = DriverManager.getConnection(url, username, password);
// 4.创建statement对象
PreparedStatement ps = con.prepareStatement(sql);
// 5.执行SQL
ResultSet rs = ps.executeQuery();
// 6. 处理结果
while (rs.next())
{
System.out.println("id: " + rs.getInt(1) + " name: " + rs.getString(2));
}
// 7. 关闭连接
if (con != null)
{
con.close();
}
} catch (ClassNotFoundException cnfe)
{
System.err.println("Error loading driver: " + cnfe);
} catch (SQLException sqle)
{
System.err.println("Error with database: " + sqle);
} catch (Exception ex)
{
ex.printStackTrace();
}
}
}
4. 结果:
待学习:
1. 通过JDBC的MetaData(分 系统MetaData 和 表特定MetaData)获取数据库元数据
2. JNDI
3. 事务(Transactions)