复习操作:1、JDBC的增删改查(用preparestatement)2、转账案例实现事务管理。
JDBC:
JDBC: Java Database Connectivity - Java数据库连接,用Java操作数据库。
JDBC本质:其实是官方定义的一套操作所有关系型数据库的规则,即接口。由各个数据库厂商实现接口,提供数据库驱动jar包。
JDBC快速入门:
1、步骤:导入驱动jar包 -- 复制jar包到libs目录下,右键 -- add as library
注册驱动 -- 获取数据库连接对象Connection -- 定义sql -- 获取执行sql语句的对象 statement -- 执行sql 返回结果 ,处理结果 -- 释放资源
2、详解各个对象。
1、DriverManager:驱动管理对象
* :功能:1、注册驱动:告诉程序该使用哪一个数据驱动jar
static void registerDriver(Driver driver)- 注册DriverManager
写代码使用:Class.forName(MysqL.jdbc.Driver)
2、 获取数据库连接:方法:static Connection getConnection(String url, String user ,String password)
参数:url:指定连接的路径 jdbc:MysqL://ip:端口/数据库名
2、Connection:数据库连接对象
* : 功能:1、获取执行sql的对象: Statement createStatement()、PreparedStatement (String sql)
2、管理事务:开启事务:setAutoCommit(boolean autoCommit) 为false时开启
提交事务:commit()
回滚事务:rollback()
3、Statement:执行sql的对象
* :执行sql:1、int executeUpdate(String sql):执行insert、update、delete等语句。
返回受影响的行数,可以判断sql是否执行成功。
2、ResultSet executeQuery(String sql):执行select语句。
* :练习:增删改查语句。
4、ResultSet:结果集对象,封装查询结果。
* next():游标指向下一行(默认指向列名这行)
* getXXX():获取数据。XXX:int-代表列的编号。String-列名。
5、PreparedStatement:执行sql的对象
* sql注入问题:在拼接sql时,有一些sql的特殊关键字参加了字符串的拼接,会造成安 全问题。
* 解决sql注入:使用PreparedStatement 对象来解决。
* 预编译的sql : 参数使用?作为占位符。
* 步骤:修改上面的步骤。
1、定义sql时,参数用?代替:select * from user where id=?;
2、获取sql语句的对象改为:PreparedStatement -->Connection.prepareStatement (String sql)
3、给?赋值:方法:setxxx(参数1,参数2)参数1:?的位置 。 参数2:?的值。
JDBC控制事务:
使用Connection来操作:
开启事务:setAutoCommit(boolean autoCommit) 为false时开启 。执行sql前
提交事务:commit() 所有sql执行完
回滚事务:rollback() 放catch里。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。