主要是
- 注册驱动(可有可无,4.0版本之后都自动获取驱动)
- 建立连接
- 创建statement
- 执行查询
- 遍历结果
- 释放
具体如下:
创建xxx.porperties的文件
url=jdbc:mysql://localhost/数据库名字
name=数据库注册名字
password=数据库密码
driverClass=com.mysql.jdbc.Driver
创建类JDBCUtil
package acteutil;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtil {
static String driverClass=null;
static String url=null;
static String name=null;
static String password=null;
static{
try {
//1.创建一个属性配置对象
Properties properties=new Properties();
InputStream is=new FileInputStream("jdbc.properties");//对应文件位于工程根目录
//使用类加载器,去读取src底下的资源文件。//对应文件位于src目录底下
//InputStream is=JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
//导入输入流
properties.load(is);
//读取属性
driverClass= properties.getProperty("driverClass");
url=properties.getProperty("url");
name=properties.getProperty("name");
password=properties.getProperty("password");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取连接对象
* @author 赵鹏
*
*/
public static Connection getConn(){
Connection conn=null;
try {
//1.注册驱动
//Class.forName(driverClass);//驱动可以不用注册
// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2.建立连接 参数一:协议+访问的数据库 参数二:用户名 参数三: 密码
//DriverManager.getConnection("jdbc:mysql://localhost/test?user");
conn = DriverManager.getConnection(url,name ,password );
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* //释放资源
* @param conn
* @param st
* @param rs
*/
public static void release(Connection conn,Statement st,ResultSet rs){
closeRs(rs);
closeSt(st);
closeConn(conn);
}
private static void closeRs(ResultSet rs){
try{
if(rs!=null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}finally{
rs=null;
}
}
private static void closeSt(Statement st){
try{
if(st!=null){
st.close();
}
}catch(SQLException e){
e.printStackTrace();
}finally{
st=null;
}
}
private static void closeConn(Connection conn){
try{
if(conn!=null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}finally{
conn=null;
}
}
}
主要操作
package actest;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import acteutil.JDBCUtil;
public class test {
public static void main(String[] args){
ResultSet rs=null;
Statement st=null;
Connection conn=null;
try {
//1.注册驱动
//2.建立连接 参数一:协议+访问的数据库 参数二:用户名 参数三: 密码
conn=JDBCUtil.getConn();
//3.创建statement ,跟数据库打交道,一定要这个对象
st = conn.createStatement();
//4.执行查询,得到结果集
String sql="select*from t_stu";
rs = st.executeQuery(sql);
//5.遍历查询每一条记录
while(rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
int age=rs.getInt("age");
System.out.println("id="+id+"===name="+name+"==age="+age);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//6.释放
JDBCUtil.release(conn, st, rs);
}
}
}