JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。
简单了解下:
1、建立数据库;
2、建立工程,将jar包引入;
3、创建两个如下的类
4、运行Test类。
import java.sql.SQLException;
public class Test {
public static void main(String[] args) throws SQLException {
JDBCUtil jdbcUtil = new JDBCUtil();
String sql ="insert into user (id, username, password) values (3433343, '11111111111111', '1');";
boolean flag = jdbcUtil.insert(sql);
System.out.println(flag);
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
private ResultSet rs;
private Statement stmt;
private Connection conn;
private String url = "jdbc:mysql://localhost:3306/productconfig";
private String className = "com.mysql.jdbc.Driver";
private String username = "root";
private String password = "root";
/**
* 构造函数
*/
public JDBCUtil() {
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 创建数据库连接
*/
public Connection getConn() {
try {
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
// /**
// * 获取Statement记录
// */
// public Statement getStmt() {
// try {
// conn = getConn();
// stmt = conn.createStatement();
// } catch (Exception e) {
// e.printStackTrace();
// }
// return stmt;
// }
// /**
// * 调法上面的方法,查询数据库,返回单个结果 其他类调用过程如下: JDBCUtil ju=new JDBCUtil(); ResultSet
// * rs=ju.getrs(sql); while(rs.next()){ String s1 = rs.getInt(1); }
// */
// public ResultSet getSingleResult(String sql) {
// if (sql == null)
// sql = "";
// try {
// stmt = getStmt();
// rs = stmt.executeQuery(sql);
// } catch (SQLException e) {
// e.printStackTrace();
// }
// return rs;
// }
/**
* 获取Statement记录集
*/
public Statement getStmed() {
try {
conn = getConn();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (Exception e) {
e.printStackTrace();
}
return stmt;
}
/**
* 调法上面的方法,查询数据库,返回一个结果集 其他类调用过程如下: JDBCUtil ju=new JDBCUtil(); ResultSet
* rs=ju.getRs(sql); while(rs.next()){ String s1 = r.getInt(1); String s2 =
* r.getInt(2); }
*/
public ResultSet getResultSet(String sql) {
if (sql == null)
sql = "";
try {
stmt = getStmed();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
// /**
// * 对数据库进行更新操作,适合SQL的insert语句和update语句 返回一个int值,表示更新的记录数 若返回为0,表示更新失败
// * 其他类调用过程如下: JDBCUtil ju=new JDBCUtil(); int i=db.update(sql); if(i==0){
// * return mapping.findForward("false"); } else return
// * mapping.findForward("success");
// */
// public int update(String sql) {
// int flag = 0;
// if (sql == null)
// sql = "";
// try {
// stmt = getStmed();
// flag = stmt.executeUpdate(sql);
// } catch (SQLException e) {
// e.printStackTrace();
// flag = 0;
// }
// return flag;
// }
// /**
// * 删除一条数据 其他类调用过程如下: DB db=new DB(); db.delete(sql);
// */
// public boolean delete(String sql) {
// boolean flag = false;
// if (sql == null)
// sql = "";
// try {
// stmt = getStmed();
// flag = stmt.execute(sql);
// } catch (SQLException e) {
// e.printStackTrace();
// }
// return flag;
// }
/**
* 插入一条数据 其他类调用过程如下: JDBCUtil ju=new JDBCUtil(); ju.delete(sql);
*/
public boolean insert(String sql) {
boolean flag = false;
if (sql == null)
sql = "";
try {
stmt = getStmed();
flag = stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
/**
* 断开数据库连接 其他类调用过程如下: JDBCUtil ju=new JDBCUtil(); ju.closed();
*/
public void DBclosed() {
try {
if (rs != null){
rs.close();
}else if(stmt != null){
stmt.close();
}else if(conn != null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}