JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
1、数据库驱动
要实现Java与数据库的交互,必须要有对应的驱动jar包,才能使得jdbc的正常工作,例如MySQL的驱动下载地址https://www.mysql.com/products/connector/
在MySQL的官网会有许多驱动,不仅仅是jdbc。当然oracle(亲生的)、sqlserver等等也都需要驱动的加持
2、JDBC的类
jdbc编程步骤:
1、加载驱动程序:Class.forName(driverClass)例如:
加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver");
加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver");
2、获得数据库连接:
DriverManager.getConnection("jdbc:mysql://localhost:3306/labmem","root","pwd");
3、创建Statement对象:conn.creeateStatement();
package com.labmem.db;
public class DBDemo{
private static final String URL="jdbc:mysql://localhost:3306/labmem";
private static final String USER="root";
private static final String PASSWORD="pwd";
private static Connection conn=null;
static{
try{
//1、加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2、获得数据库的连接
conn=DriverManager.getConnection(URL,USER,PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
}
publci static Connection get Connection(){
return conn;
}
}
package com.labmem.dao;
import com.labmem.db;
import com.labmem.entity;
public class xxDao{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public list<Labmems> query() throws Exception{
try{
conn=DBDemo.getConnection();//调用db获取conn
stmt=conn.createStatement();
rs=stmt.executeQuery("sql");//查询语句
List<Labmems> labs=newArrayList<Labmems>();
while(rs.next()){
Labemms lab=new Lanmems();
lab.setLabmem_name(rs.getString("name"));
...
labs.add(lab);
}
rs.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
return labs;
}
//增删改查的方法也使用预编译执行sql语句
//String sql="insert into labmem (name,age) values(?,?)";//以增加为例
//PreparedStatement ptmt=conn.prepareStatement(sql);
//ptmt.setString(1,"labmem01");
//ptmt.setString(2,20);
//ptmt.execute();增删改执行
//ptmt.executeQuery();查询执行
}