当前位置: 首页 > news >正文

JDBC 学习

用Java操作所有关系型数据库的一套API,JDBC只定义了接口,MySQL,Oracle等自己定义了实现类(驱动)

全称:(Java DataBase Connectivity) Java数据库连接

步骤:

package com.itheima.jdbc;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class JDBCDemo {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接String url = "jdbc:mysql://127.0.0.1:3306/test";String username = "root";String password = "xyr833166";Connection conn=DriverManager.getConnection(url,username,password);//3.定义sql语句String sql="update tb_user set password = 2000 where id = 1";//4.获取执行sql对象java.sql.Statement stmt=conn.createStatement();//5.执行sqlint count=stmt.executeUpdate(sql);//受影响的行数//6.处理结果System.out.println(count);//7.释放资源stmt.close();conn.close();}
}

jdbc api:

1.DriverManager:注册驱动,获取数据库连接对象 getConnection(String url,String username,String password)  url语法格式:jdbc:mysql://ip地址(域名):端口号/数据库名称?键值对1&键值对2... 且如果连接是本机,可以省略地址和端口号

String url = "jdbc:mysql:///test";

 可以使用useSSL=false

String url = "jdbc:mysql://127.0.0.1:3306/test?useSSl=false";

2.Connection

获取执行sql的对象

管理事务:

3.statement

作用:执行sql语句

4.resultset(结果集)

封装了DQL查询语句的结果

获取查询结果 boolean next(),getXxx()

while(rs.next()){//获取数据int id=rs.getInt();String name=rs.getString();double money=rs.getDouble();sout.println(id);sout.println(name);sout.println(money);
}

例题:将数据表存放到Account对象中,再放在集合中

先创建Account类,再创建对象,每次循环将数据放进对象中,并且将对象装入集合

package com.itheima.jdbc;import com.itheima.pojo.Account;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;public class JDBCDemo_Account {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接String url = "jdbc:mysql://127.0.0.1:3306/test?useSSl=false";String username = "root";String password = "xyr833166";Connection conn=DriverManager.getConnection(url,username,password);//3.定义sql语句String sql="select *from tb_user";//4.获取执行sql对象java.sql.Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);//创建一个集合存放account对象List<Account> list=new ArrayList<>();while(rs.next()){Account account=new Account();account.setId(rs.getInt("id"));account.setName(rs.getString("username"));account.setPassword(rs.getDouble("password"));list.add(account);}System.out.println(list);//5.执行sql//int count=stmt.executeUpdate(sql);//受影响的行数//6.处理结果//System.out.println(count);//7.释放资源rs.close();stmt.close();conn.close();}
}
package com.itheima.pojo;public class Account {int id;String name;double password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPassword() {return password;}public void setPassword(double password) {this.password = password;}public String toString() {return "Account{" +"id=" + id +", username='" + name + '\'' +", password='" + password + '\'' +'}';}}

5.preparedStatement 继承自statement

防止sql注入

6.数据库连接池

优点:资源重用,提升系统响应速度,避免数据库连接遗漏

标准接口:DataSource 常见的DBCP Druid

http://www.dtcms.com/a/607174.html

相关文章:

  • 网站设计书的结构wordpress数据插件
  • 建站系统破解源码大数据营销的特点
  • 企业网络资产暴露面识别方法论
  • 借刘润之智,在 IP+AI 时代构筑战略 “增长方舟”|创客匠人
  • 大学生网站设计大作业seo网站优化推广怎么做
  • 如何制作网站板块深圳高端保姆公司
  • 关于网站的建设动易网站栏目
  • 买卖信息网站dede做手机网站
  • 做纺织的都用什么网站临安网站seo
  • 网站内部结构杭州产品设计公司有哪些
  • 网站页面设计有哪些小企业网站建设的大品牌
  • Android AB升级(二) - Demo APP应用流程
  • 网站备案背景墙wordpress详细安装教程
  • 做网站朋友圈广告的文案怎么写怎样做网站个人简介
  • 15.spi与硬件浮点
  • 建立网站可以赚钱吗?做视频网站用什么格式好
  • 网站seo外链建设北京建设工程交易协会网站
  • 门户网站的布局c2c网站页面设计特点
  • Web--html基础标签
  • 如何在外管局网站做付汇延期网站由哪些部分组成部分
  • 浙江 网站备案建设机械网站哪家好
  • 搭网站要多少钱免费开放服务器
  • 学院的网站建设的意义贝壳找房房源
  • Python 3 JSON:深度解析与实践指南
  • 简单CNN——作业(补充)
  • 关于网站建设的话术做铁艺需要什么网站
  • 3. Linux 计划任务管理;4. Linux 进程调度管理
  • 网站建设口号免费开发游戏
  • 五屏网站建设品牌企业集团网站建设方案论文
  • 网站建设xywlcn网店设计方案范文