本帖最后由 小石姐姐 于 2018-5-11 10:14 编辑
JDBC_概述_简单使用
1.java data base connectivity(Java 数据库连接),一种用于执行sql语句的api
2.驱动
两个设备(应用)之间通信的桥梁;
3.JDBC规范
SUN公司提供一套统一的规范(接口)。然后各个数据库生产商提供这套接口的实现。
这套接口规范就是JDBC的规范。(类似于多态,都实现相应的接口,使用的时候只需要了解
规范,通过规范去使用各家的数据库(多态))
3.JBDC是Java中最底层的操作数据库的规范
4.引入mysql 的驱动包
1.数据库的驱动都是以jar包的形式引入的
2.在项目下新建文件夹 lib
3.将jar包存入lib文件夹
4.build path 一下jar包,将它添加到构建路径;
5.connection 对象:
PrepareStatement prestate = conn.prepareStatement(String sql);
//实际中使用PreareStatement
6.Statement 类:
Statement 是 preparedStatement 的父接口
* 执行查询:
ResultSet executeQurey(String sql);
* 执行增删改
int executeUpdate(String sql);
* 执行查询,修改,添加,删除
boolean executeQurey(String sql);
7.ResultSet 类:
它的对象为 : 查询结果集对象(封装了查询结果);
*方法:
用于遍历的方法:
boolean next() //将光标从当前位置向前移一行.
* getXXX();方法通常会有一个重载的方法
* getXXX(int columnIndex); //根据列号获取
* getXXX(String columnName); //根据列名获取/自己取的别名
* getObject(String columnName); //获得Object对象,需要手动转型
8.资源释放
JDBC程序执行结束后,将与数据库进行交互的对象释放掉,
通常是ResultSet,Statement,Connection
9.Java开发
* 对扩展是开放的
* 对修改源码是关闭的
10.Java解耦合
配置文件
11.SQL注入漏洞
解决办法不在JS前段
在后台Java程序
12.prepareStatement 占位符 ?
String sql = "select * from user where username = ? and password = ?";
* PrepareSattement 参数传入个数要与预编译的sql语句的占位符数量一致;
13.1Statement和prepareStatement区别
* Statement有sql注入的漏洞
* perpareStatement有一个预编译的过程
14. perpareStatement模糊查询
整个条件使用占位符 ? 代替;
例:String sql = "select * from user where nickname like ?";
pstmt.setString("%小%");
15.批量插入(是开发中常用)
16.实际开发中接触不到JBDC程序
* 数据库交互会有框架,都是对原始的JDBC的封装.
|
|