JDBC(重点)

什么时JDBC?

JDBC指Java数据库连接,是一种标准Java应有编程接口,用来连接Java编程语言的广泛的数据库

操作数据库的步骤

  1. 加载驱动
  2. 连接数据库DriverManager
  3. 获得执行SQL的对象Statement
  4. 获得返回的结果集
  5. 释放资源

DriverManager

Class.from("com.mysql.jdbc.Driver") ;-- 固定写法

Connection connection = DriverManager.getConnection(url,name,pwd)

//Connection代表数据库  数据库能干的事

//数据库的自动提交

//事务提交

//事务回滚

connection.rollback();-- 事务回滚
connection.setAutoCommit();-- 设置自动提交 true是开启 false是关闭
connection.commit();-- 事务提交

 URL

String url="jdbc:mysql://localhost:3306/school?useUnicode=true&characterEnocding=utf8&useSSL=true"

//mysql--3306  mysql只有一个端口号3306

//jdbc:mysql://主机地址://数据库名字?参数1&参数2&参数3

 Statement执行SQL的对象  PrepareStatement执行SQL对象

-》statement执行SQL对象

-- 编写SQL语句
String str="select * from student";

-- 创建Statement 对象
Statement statement=connection.createStatement();

statement.executeQuery(sql); //执行查询 返回结果集
statement.execute(sql);// 任何语句都可以执行 因为它有一个判断效率肯定会慢一点
statement.executeUpdate();// 执行增删改 返回影响行数
statement.executeBatch();// 可以执行多个SQL语句

-》执行PrepareStatement

// 这样的方式比较安全防止SQL注入


String sql="update student set name=? where id=?";//创建SQL语句先不赋值

PreparedSatement st=connection.prepareStatement(sql);//这边要预创建SQL
//这里的第一个参数对应的是SQl语句中的问号,以1开始,第二个参数是要负的值(什么类型写什么值)
st.getString(1,"小糊涂");
st.getInt(2,1);

//执行更新
st.executeUpdate();

扩展:PreparedStatement防止SQL注入的本质,把传递进来的参数当作字符,假设其中存在转义字符,比如  ’  就会被直接转义

ResultSet查询的结果集:封装了 所有的查询结果

//如果知道列的类型旧使用指定的类型
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
resultSet.getObject();

 运用:假设有一个学生表表里有id,name,sex字段,拿到学生表字段的每一个值

//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//URL
String url="jdbc:mysql://localhost:3306/school?useUnicode=true&characteEnocding=utf8&useSSL=true";
//连接数据库DriverManager
Connection root =DriverManager.getConnection(url,"root","123456");
//创建执行对象
Statement statement=root.createStatement();
//执行sql语句
String sql="select*from student";
ResultSet resultset=statement.executeQuery(sql);
while(resultset.next){
sout(resultset.getInt("id"));
sout(resultset.getString("name"));
sout(resultset.getString("sex"));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胖子敲代 码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值