JDBC入门
搭建开发环境
编写程序,加载数据库驱动
建立连接
创建用于向数据库发送SQL的Statement对象
从代表结果集的resultSet中取出数据
断开与数据库的连接,并释放相关资源
DriverManager ---驱动管理类
--1、注册驱动
实际开发中注册驱动 利用反射
Class.forName("com.mysql.jdbc.Driver"); 注册一次
-- 2、连接数据库
Connection :连接对象
* 主要作用
一、创建sql语句对象
* Statement createStatement() :执行sql语句 有sql注入漏洞
* PreparedStatement prepareStatement(String sql) :预编译sql语句 解决sql注入漏洞
* CallableStatement prepareCall(String sql) : 执行sql中的存储过程
二、进行事务的管理
*setAutoCommit(boolean autoCommit) :设置事务是否自动提交
* commit() : 事务提交
* rollback() : 事务回滚
Statement : 执行sql
*主要作用:
一、执行sql语句
* boolean execute(String sql) : 执行sql,执行select语句返回true,否则返回false
* ResultSet executeQuery(String sql) : 执行sql中select语句
* int executeUpdate(String sql) : 执行sql中的 insert/update/delete语句
二 、执行批处理操作
* addBatch(String sql) : 添加到批处理
* executeBatch() :执行批处理
* clearBatch() :清空批处理
ResultSet: 结果集
* 结果集:sql select 查询语句的封装
packagecom.imooc.jdbc.demo1;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importorg.junit.Test;importcom.mysql.jdbc.Driver;public classJdbcDemo2 {/*** jdbc入门过程实践*/@Testpublic voiddemo1() {//抽取Connection Statement ResultSet 对象
Connection conn = null;
Statement stmt= null;
ResultSet resultSet= null;try{//1.加载驱动
DriverManager.registerDriver(newDriver());//2.获得连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");//3.创建执行SQL的对象并执行sql
String sql = "select * from emp";//3.1创建执行sql的对象
stmt =conn.createStatement();//3.2执行sql获取结果集
resultSet =stmt.executeQuery(sql);//遍历集合
while(resultSet.next()) {int uid = resultSet.getInt("id");
String username= resultSet.getString("username");int age = resultSet.getInt("age");
String sex= resultSet.getString("sex");//打印出来
System.out.println(uid+"-"+username+"-"+age+"-"+sex);
}//4.释放资源
resultSet.close();
stmt.close();
conn.close();
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{//释放资源在finally都会执行
if(resultSet != null) {try{
resultSet.close();
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
resultSet= null;
}if(stmt != null) {try{
stmt.close();
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
stmt= null;
}if(conn != null) {try{
conn.close();
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
conn= null; //垃圾回收机制更早回收对象
}
}
}
}