JDBC
概念: Java Database Connectivity Java数据库连接 Java语言操作数据库
本质:其实就是官方(sun)定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,提供数据库驱动jar包.我们可以使用这套接口编程,怔怔的代码是驱动jar包中的实现类.
快速入门步骤:
1.导入驱动jar包
2.注册驱动
3.获取数据库连接对象
4.定义sql语句
5.获取执行sql的对象Statement
6.执行sql
7.处理结果
8.释放资源
详解:
DriverManager:驱动管理
1.注册驱动
mysql5之后的驱动jar包可以省略注册驱动的步骤
2.getConnection("jdbc:mysql://ip地址(域名):端口号/数据库名","用户名","密码")
Connection:数据库连接对象
1.获取执行sql的对象
Statement creteStatement()
PreparedStatement preparedStatement(String sql)
2.管理事务
开启事务 set Autocommit(boolean autocommit) 设置为false 即开启事务
提交事务 commit()
回滚事务 rollback()
Statement:执行sql对象
1.执行sql
int executeUpdate(String sql):执行DML(insert,delete,update)
返回影响行数计数值 DDL(create,alter,drop)语句
ResultSet executeQuery(String sql) 执行给定的SQL语句,返回一个 ResultSet对象。
ResultSet:结果集对象,封装查询结果
next():游标向下移动一行
getXxx():获取数据
使用步骤:
1.游标向下移动一行
2.判断是否有数据
3.获取数据
PreparedStatement:执行sql的对象
1.SQL注入问题
在拼接sql时,有一些sql的特殊关键字参与字符串的凭借.会造成安全问题
2.解决sql注入问题:使用PreparedStatement
3.预编译的dql:参数使用?占位符
4.步骤
1.导入驱动jar包
2.注册驱动
3.获取数据库连接对象
4.定义sql语句
注意:占位符
5.获取执行sql的对象PreparedStatement connectin.preparedStatement(String sql)
6.给?赋值
setXXX
赋值从1开始
执行sql
7.处理结果
8.释放资源
事务
开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务
在执行sql之前开启事务
提交事务:commit()
当所有sql都执行完提交事务
回滚事务:rollback()
在catch中回滚事务
|
|