java database connectivity
java数据库连接技术
系统由微软公司提供。 驱动由不同的厂商自己提供,微软只能定义接口,指定一系列的规范,厂商如果想实现硬件在系统中被调用,必须遵照为软件所定义的
规范实现接口
oracle 甲骨文公司
java定义连接,操作数据库的接口,不同数据库厂商根据接口中定义的规范,实现数据库操作的功能
1.加载技术,建立连接
a.导入驱动jar包
b.加载驱动 Class.forName("com.mysql.jdbc.Driver");
c.建立连接
//连接字符串
String url="jdbc:mysql://localhost:3306/myschool";
Connection conn=DriverManager.getConnection(url,"root","root");
2.操作数据库
a.创建sql执行对象
String sql="delete from student where id=2";
PreparedStatement pstmt=conn.prepareStatement(sql);
//执行sql语句
pstmt.execute();
pstmt.executeUpdate();
3.关闭连接
pstmt.close();
conn.close();
jdbc:mysql 指定连接技术以及连接的数据库类型
// 指定数据库地址开始
localhost 数据库的IP地址,计算机名字,localhost/127.0.0.1(指代本机IP地址)
: 指定端口号
3360 端口,一次只能被一个程序占用
/myschool 数据库名字
执行sql对象的API
execute(); 执行所有的sql语句 当sql执行有查询结果返回时返回true,负责返回false;
executeUpdate(); 返回int类型, 当前sql执行所影响的数据条数 注意:该方法包含修改,新增,删除
executeQuery(); 返回结果集(ResultSet)
//查看结果集中是否有下一条记录
while(rs.next()){
//如果有下一条,获取该记录
//根据查询结果的字段顺序获取(下标从1开始)
rs.getInt(1);
//根据查询结果的字段名获取
rs.getString("name");
}
DriverManager 驱动管理器,通过驱动建立数据库连接(Connection)
Connection 连接对象,可以创建sql执行对象(PreparedStatement)
PreparedStatement sql执行对象,执行sql语句,针对sql语句的操作
ResultSet 结果对象,当执行的操作为查询时, 返回该对象
注意: 所以数据库对象导入包都为:java.sql
PreparedStatement 优势: 1.防止sql注入 2.使用预编译, 一次编译,多次执行 3.使用占位符,sql更加灵活,代码更加清晰