目录
一、使用JDBC的步骤
1.DriverManager: 驱动管理者
作用:
1).注册驱动
2).获取连接,得到Connection
2.Connection: 数据库连接对象
作用:
1).负责数据库之间的数据传输
2).获取SQL执行对象Statement对象
3.Statement: SQL语句执行者
作用:
1).发送SQL语句
2).执行SQL语句
-int executeUpdate(String sql): 执行insert,delete,update操作
-ResultSet executeQuery(String sql): 执行select操作,获取查询结果ResultSet
-ResultSet: 结果集对象
作用:
1).封装查询结果
-next(): 行光标指向下一行数据,如果没有数据返回false.
-getXXX(int colIndex):根据列索引获取对应列的数据
-getXXX(String colName):根据列明获取对应列的数据
PreparedStatement
-PreparedStatement: 是Statement子类
-作用:
目的:解决SQL注入,防止SQL攻击
1.预编译SQL语句,后期再注入SQL参数
2.发送SQL语句
3.执行SQL语句
二、连接池
c3p0连接池的使用:
1.导入c3p0连接池的依赖.jar
2.在src目录下新建c3p0-config.xml文件
3.创建连接池对象
ComboPooledDataSource ds = new ComboPooledDataSource("mysql");
4.获取连接对象
Connection con = ds.getConnection();
5.归还连接对象
三、dbutils工具类
1.导入dbutils包
2.创建工具类对象
ComboPooledDataSource ds = new ComboPooledDataSource("mysql");
QueryRunner qr = new QueryRunner(qr);
3.封装的方法
增删改方法: update(String sql,Object...params);
查询方法query(String sql,ResultSetHandler rs,object...params);
4.ResultSetHandler
ResultSetHandler实现类
①ArrayHandler:把结果集中的第一行数据转成对象数组。
②ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
③BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
④BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
⑤MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
⑥MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
⑦ColumnListHandler:将结果集中某一列的数据存放到List中。
⑧KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List<Map>),再把这些map再存到一个map里,其key为指定的列。
⑨ScalarHandler:获取结果集中第一行数据指定列的值,常用来进行单值查询