JDBC&XML

本文详细介绍了Java JDBC访问MySQL数据库的流程,包括JDBC的定义、原理、API使用和资源释放,以及如何通过JDBC工具类实现增删改查。此外,还讨论了SQL注入问题和预处理对象(PreparedStatement)的解决方案。接着,文章提到了数据库连接池DBUtils与Druid,以及DBUtils简化JDBC操作的功能。最后,文章深入探讨了XML的作用、语法、约束以及XML解析,包括DOM、SAX解析器和XPath查询。
摘要由CSDN通过智能技术生成

一、JDBC:可以通过java程序来访问Mysql数据库;之前可以通过sqlyog或者cmd访问数据库

1.JDBC定义:java访问数据库的标准规范,执行SQL的java API,是接口。

2.JDBC原理:JDBC定义操作所有关系型数据库的规则(接口),数据库厂商实现该接口提供驱动jar包,真正执行代码是驱动包中的实现类。

3.JDBC流程:获得jar包所在的文件夹并在project setting的Libraries中添加该jar包的文件夹,然后新建module并配置library添加该jar包对应的文件夹

3.1API的使用:

3.1.1.注册驱动(JDBC3之后不用手动注册驱动):

JDBC规范定义驱动接口;java.sql.Driver

Mysql驱动包提供的实现类:com.mysql.jdbc.Driver

加载并注册数据库驱动: Class.forName(数据库驱动实现类 eg:"com.mysql.jdbc.Driver")

Class类中的forName方法可以实现类的初始化加载,获得该类的Class对象

Mysql驱动包的实现类Driver中实现了java.sql.Driver接口,并在静态代码块中使用DriverManager.registerDriver(new Driver()),当Class.forName()加载该类时会自动执行静态代码块保证驱动程序被使用之前已经被注册。

DriverManager:驱动管理类       registerDriver(new Driver()):注册驱动的方法

3.1.2获得连接

connection接口代表连接对象,由数据库厂商实现

DriverManager类的静态方法 getConnection

connection getConnection(String url,String user,String password)

user:用户名

password:密码

url: mysql url格式 eg:jdbc:mysql://localhost:3306/db4

url中:

第一部分代表协议

第二部分代表子协议:数据库名称

第三部分:数据库厂商决定,由IP 、端口号和数据库名称组成

3.1.3 获得语句执行平台

通过connection的createStatement方法获得SQL语句执行对象

Statement createStatement() 

Statement用于发送SQL语句给数据库并获得执行结果生成的对象

常用方法: int executeUpdate(String sql):执行增删改语句返回结果代表受影响行数

                   ResultSet executeQuery(Sring sql):执行查询语句 返回 resultSet结果集对象

ResultSet结果集的处理:

Boolean next()游标到下一行;如果还有下一条记录返回true 否则返回false

XXX getXXX(String/int):参数int代表列号 String 代表列名

根据获得列的数据类型选择对应方法 可以是 getInt getString getDate

3.1.4释放资源

需要释放的资源:ResultSet Statement connection

原则:先开的后关,后开的先关 并放在 finally快中。

 4.JDBC工具类实现增删改查

将注册驱动、获得连接以及关闭流等方法写在工具类中实现代码重用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值