一、JDBC的概念
Java DataBase Connectivity
使用Java代码连接并操作数据库的一种解决方案
二、jdbc实现原理
1、Jdbc技术标准定义了一套标注接口,在接口中定义连接数据库,并对数据进行操作的通用API,
2、个大数据库厂商根据JDBC技术标准编写接口的实现类,并将接口和实现类封装成一个jar驱动包,
并提供给程序开发人员使用
3,程序开发人员需要下载jar驱动包,并导入到自己的项目中,在项目中使用接口来实现对数据库的
操作,根据多态,底层会自动调用实现类中的方法,使用接口的好处,使用相同的Java代码来
实现对不同的数据库的访问,以实现与具体数据库无关的Java操作
三、JDBC操作MySQL的使用步骤
1、贾
加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
2、琏
创建连接
Connection conn= DriverManager.getConnection(url,username,password);
url=="jdbc:mysql://ip:port/数据库名字
username==>数据库登录账号
password==>数据库登录密码
3、欲
预编译sql语句
PreparedStatement pstmt=conn.prepareStatement(sql);
4、执
执行sql语句
如果sql语句中有?占位符,需要给占位符赋值
pstmt.setXXX(占位符序号,传入的值);
占位符序号为sql语句中?的顺序,从左往右从1开始
4.1》执行DML的增删改
//返回受影响的行数
int rows=pstmt.executeUpdate();
4.2》执行DQL查询
//返回结果集
ResultSet rs= pstmt.executeQuery();
//处理结果集
1)rs.next()
判断是否有下一行记录 ,并移动指针到下一行
2)rs.getXXX()
根据查询结果列名或序号获取列下面的值
列名:与查询结果中一致,有别名就写别名
序号:列数从左到右从一开始
5、事
释放资源
rs.close();
pstmt.close();
conn.close();
面试题:
1》jdbc连接数据库的步骤
2》Statement和preparedStatement区别
1)Statement是先拼接sql字符串,然后再将sql语句传给Statement进行编译执行,
所以会造成sql注入攻击
2)preparedStatement是先预编译sql语句,预编译时候允许sql语句中存在?占位符,
然后再给?占位符传值,对传入的值都会加上双引号,不会造成sql注入攻击
3)多次执行同一个sql语句时,Statement每次需要进行编译,而preparedStatement
只需要编译一次,所以preparedStatement效率会更高。
四、jdbc中事务控制
1、开启事务
conn.setAutoCommit(false);
2、提交事务
conn.commit();
3、回滚事务
conn.rollback();
4、设置事务隔离级别
conn.setTransactionIsolation(
Connection.TRANSACTION_READ_UNCOMMITTED);
conn.setTransactionIsolation(
Connection.TRANSACTION_READ_COMMITTED);
conn.setTransactionIsolation(
Connection.TRANSACTION_REPEATABLE_READ);
conn.setTransactionIsolation(
Connection.TRANSACTION_SERIALIZABLE);
--------------------------------------------------------------------------------------------------------------------------------------
XML:
1、XML是什么?
Extensible Mark Language
可拓展标记语言
2、XML的作用
1》数据传输协议,被json取代
2》配置文件
3、XML组成部分
1》声明
2》DTD约束
用于约束xml中应该出现哪些标签,标签中是否有属性和文本,
以及这些标签出现的顺序,
3》标签Tag
开始标签:
结束标签:
4》元素Element
包括开始标签,结束标签,以及中间的内容
张三
5》根元素Root Element
每篇xml文档有且仅有一个根元素
6》属性Attribute
以key=value形式定义在开始标签中,属性值必须使用单引号或双引号引起来
7》文档Document
整篇xml文档在内存中相应的对象
8》节点Node
标签,元素,属性,文档
4、xml解析
1》dom解析
2》dom4j解析
3》pull解析
4》sax解析