JDBC对象

1,DriverManager:驱动管理对象
功能:注册驱动,获取数据库连接。
代码:Class.forName(“com.mysql.cj.jdbc.Driver”);
注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。
方法:DriverManager.getConnection(string url,string user,string password) 返回一Connection对象
参数:
url:指定连接的路径
语法:jdbc:mysql://ip地址(域名): 端口号/数据库名称?serverTimezone=UTC
例子:jdbc:mysql://localhost:3306/db3
细节:如果连接的是本机的Mysql服务器,并且Mysql服务器端口为3306则URL可以写为jdbc:mysql:///数据库名称
user:用户名
password:密码

2,Connection:数据库连接对象
功能:
获取执行sql的对象:
Statement createStatement()
PreparedStatement prepareStatement(String sql)
管理事务
开启事务:void setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
提交事务:commit()
回滚事务:rollback()

3,Statement:执行sql对象
执行SQL:
1,boolean execute(String sql):可以执行任意的SQL
2,int executeUpdate(String sql):可以执行DML语句增删改,DDL语句表和库
返回值为影响的行数,可以通过影响的行数来判断是否执行成功
3,ResultSet executeQuery(String sql)执行DQL语句,查询语句,返回ResultSet 对象。
4,ResultSet:结果集对象
功能:封装查询结果
boolean next():游标向下移动,判断是否有数据,如果有数据返回true。
getxxx(参数):获取数据
xxx:代表数据类型 如:getint() getstring()
参数:
int:代表列的编号,1开始。
String:代表列名称。
目的:简化书写
分析:
1,注册驱动
2,抽取方法
配置文件
jdbc.properties
url=
user=
password=
3,抽取释放资源
5,PreparedStatement:执行sql对象
SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
解决SQL注入问题:使用prepareStatement对象来解决
预编译SQL:参数使用?占位符

String sql="SELECT * FROM user WHERE username= ? and password= ?;";

返回值为PreparedStatement,使用prepareStatement();
setxxx(参数1,参数2):xxx为类型,参数1为位置,参数2为内容。

1.execute() 可以执行所有SQL语句
返回的结果boolean,boolean表示是否有结果集返回(除 select外为false),有为true,其他情况都为false
2.executeUpdate() 可以执行增删改功能
返回的结果int,int表是对数据库影响的行计数
3.executeQuery() 查询语句
返回的结果resultSet,一般情况存放的是select查询的结果集

JDBC控制事务
1,事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时失败,要么同时成功。
2,操作:开启事务,提交事务,回滚事务/
3,使用Connection对象来管理事务
开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务。
在执行sql前开启事务
提交事务:commit()
当使用sql都执行完提交事务
回滚事务:rollback()
在catch中回滚事务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值