JDBC 总结
JDBC概述
JDBC(Java DataBase Connectivity):java连接数据库技术,是一项由sun(java创始公司)发布的用于java连接数据库的通用标准,这套标准由一系列的接口(Connection,Statement,ResultSet等)构成,旨在屏蔽不同数据库之间的差异,使得开发者无需关注不同数据库系统之间的差异,简化java连接数据库的步骤。
JDBC操作数据库步骤(以mysql为例)
JDBC增删改操作
-
加载驱动(jdk4不在需要写,系统自动添加)
Class.forName("com.mysql.jdbc.Driver");
-
获取连接
-- mydb 是 mysql 下的一个数据库实例 -- root是登入用户 -- 123456是登入密码 Connection cn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","123456");
-
获取预处理对象
//插入语句 String sql = " insert into student values(1,'jok','男')"; PreparedStatement ps =cn.prepareStatement(sql);
-
执行sql
int i = ps.executeUpdate();
-
处理结果
if(i>0) System.out.println("插入成功");
-
关闭资源
ps.close(); cn,close();
JDBC查询操作
//准备sql语句
String sql = "select * from emp where eno=?";
//获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb", "root", "123456");
//对SQL语句预处理(编译)并获取预处理对象
PreparedStatement ps = conn.prepareStatement(sql);
ps.setObject(1, 1001);
//执行查询
ResultSet rs = ps.executeQuery();
if(rs.next()){
int no = rs.getInt("eno");
String name = rs.getString("ename");
BigDecimal sal = rs.getBigDecimal("sal");
Date date = rs.getDate("hiredate");//java.sql.Date
int dno = rs.getInt("dno");
System.out.println(no+"/"+name+"/"+sal+"/"+date+"/"+dno);
}else{
System.out.println("未查询到数据");
}
//关闭资源
rs.close();
ps.close();
conn.close();
JDBC的封装
封装了数据库的增删改查操作,其中运用到了属性文件、线程、连接池、反射等知识。
属性文件:
## mysql
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mydb
user=root
password=123456
maxActive=10
minIdle=1
maxWait=10000
/**
* 数据库工具类,包含一些操作数据库简便方法
* 1.获取连接
* 2.关闭资源
* @author Administrator
*
*/
public class DButils {