python jdbc array_JDBC - python成长中 - 博客园

3e1b1562b681dd474b3d3d15915ec6ee.png

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 查询语句的封装

cbd3036ae1cefc6d0771e2e450c68c63.png

1172968b5e5d13797e60d6a7e12fc581.png

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; //垃圾回收机制更早回收对象

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值