1、首先的知道这么个事情sun公司提供了JDBC(用于执行SQL语句的Java API),但是JDBC不能直接操作数据库,(“JDBC它只是一堆接口,没有实现所以没有具体操作数据库的内容”),所以要使用JDBC操作数据库,还需要各大数据库厂商提供的JDBC驱动程序(也就是说sun提供了这么一个接口,实现就交给了数据库厂商,使大家掌握JDBC就能对各大数据实现操作)。
知道这么件事后,就写代码把!
2、连接MySQL数据库
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
public class Test1 {
public static void main(String[] args) {
Connection conn = null;
Statement st = null;
ResultSet res = null;
try {
//1.注册驱动
//注册驱动有两种方式,一种是DriverManager.registerDriver;一种Class.forName;有帖子说后者好。
//注册的目的就是告诉JDBC要操作什么数据库,并把数据库厂商提供的JDBC驱动代码传过来
//DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //多态
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.建立连接 参数一:协议+访问数据库,参数二:用户名,参数三:密码
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/要操作数据库名字", "root", "密码");
//3.创建statement,跟数据库打交道一定需要这个对象
st = conn.createStatement();
//4.执行直接查询,得到结果集
String sql = "select * from emp;";
res = st.executeQuery(sql);
//5.遍历查询每一条记录
while(res.next())
{
int empno = res.getInt("EMPNO");
String ename = res.getString("ENAME");
double sal = res.getDouble("SAL");
System.out.println("empno="+empno+" ename="+ename+" sal="+sal);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
//关闭资源的顺序,谁先创建,则谁先关闭
try {
// 为了程序健壮
if(res!=null)
{
res.close();
}
if(st!=null)
{
st.close();
}
if(conn!=null)
{
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}