使用JDBC连接数据库
什么是JDBC?
JDBC是java数据库连接技术的简称,提供连接各种常用数据库的能力。
JDBC API:它里面的内容是供程序员调用的接口与类,集成在java.sql和javax.sql包,如DriverManager类。
JDBC API的主要功能,与数据库建立连接,执行sql语句,处理结果。
JDBC API中重要的界面有:
DriverManager:完成驱动程序的装载和建立新的数据库连接。
Statement:管理在一指定数据库连接上的SQL语句的执行。
Connection:表示对某一指定数据库的连接。
ResultSet:访问一指定语句的原始结果。
使用纯java方式连接MySql数据库
由JDBC驱动直接访问数据库
优点:100%java,快又可跨平台。
缺点:访问不同的数据需要下载专用的JDBC驱动。
连接步骤:
得下载相应的驱动jar包然后导到项目里面。
1,加载驱动
2,建立连接
3,异常处理
4,关闭连接
**Statement:**主要用于执行SQL语句
常用方法:
ResultSet executeQuery(String sql):执行sql查询并获取到ResultSet对象。
int executeUpdate(String sql):可以执行插入,删除更新等操作,返回值是执行该操作所影响的行数。
boolean execute(String sql):可以执行任意sql语句,然后获得一个布尔值,表示是否返回ResultSet。
例如插入数据:
改,删操作和这个插入结构一样,只是sql语句不同。
查询操作:
获取ResultSet里面的值的时候
ResultSet.getInt()方法里可以写字段下标,也可以字段名(mysql表结构里的字段名)。
**ResultSet:**主要用于处理查询结果
常用方法:
boolean next():将光标从当前位置向下移动一行
boolean previous():光标从当前位置向上移动一行
void close(): 关闭ResultSet对象
int getInt(int colIndex):以int形式获取结果集当前行指定列号值
float getFloat(int colIndex):以float形式获取结果集当前行指定列号值
String getString(int colIndex):以String形式获取结果集当前行指定列号值
PreparedStatement接口
继承自Statement接口
比Statement对象使用起来更加灵活,更有效率
提高了代码的可读性可维护性
提高了安全性
提高了sql语句执行的性能
使用statement执行sql语句,如果别人使用sql注入就可以操作你数据库数据了,这样很不安全,用PreparedStatement就可以避免这种sql注入的恶意攻击。