JDBC使用

目录

JDBC

规范

步骤

JDBC

Java Database Connectivity (JDBC)与数据库驱动的关系

接口与实现的关系

规范

四个核心对象:

DriverManager: 注册驱动

Connection: 表示与数据库创建的连接

Statement: 操作数据库语句的对象

ResultSet: 结果集或一张虚拟表

 

步骤

1、注册驱动

// 1、注册驱动
// DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // 不推荐,因为会二次创建Driver对象
Class.forName("com.mysql.jdbc.Driver");     // 经常使用   反射机制加载驱动

2、创建连接

// 2、创建连接
// #1:协议:子协议://ip:port/数据库名  用户名    密码
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu_info", "root", "root");  // 经常使用
// #2:使用Property来传递参数
Properties info = new Properies();
info.setProperty("user", "root");
info.setProperty("password", "root");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu_info", info);
// #3:只使用一个参数
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu_info?user=root&password=root");

3、得到执行sql语句的statement语句

// 3、得到执行sql语句的statement语句
Statement stmt = conn.createStatement();

4、执行sql语句,并返回结果

// 4、执行sql语句,并返回结果
// 语句包括executeQuery(), 指向查询操作,返回ResultSet
// int executeUpdate(),可能执行insert、update、delete语句,或者不反悔任何内容的SQL语句,返回受影响行数
// boolean execute(),可执行任何语句,返回boolean值,表示是否返回ResultSet。仅当执行select且有返回结果时返回true,其他返回false
ResultSet rs = stmt.executeQuery("select * from stu"); // 查询
int i = stmt.executeUpdate("insert into stu(id, name, gender) values(1, \"zs\", \"m\")"); // insert
// int i = stmt.executeUpdate("UPDATE stu SET sname=\"er\",birth=CURRENT_DATE() WHERE id=8");// set
// int i = stmt.executeUpdate("DELETE FROM stu WHERE id=6"); // delete
if (i > 0) {
    System.out.println("success" + " 修改了" + i + "行");
}

5、处理结果

// 5、处理结果
// rs最开始指向表头,其有next()函数,指向下一行
while (rs.next()) {
    System.out.print(rs.getObject(1) + " ");        // 根据索引号取值
    System.out.peintln("id");                       // 根据标签取值
    System.out.peintln("name");
    System.out.peintln("gender");
    System.out.println(rs.getObject(2) + " ");
    System.out.println("-----------------------");
}

6、关闭资源

// 6、关闭资源
rs.close();
stmt.close();
conn.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值