JDBC
发布时间:2020-12-15 05:17:11 所属栏目:Java 来源:网络整理
导读:JDBC的概念:java database connectivity? ? ? ? (java 数据库连接?) 本质就是 sun公司定义的一套操作所有关系型数据库的规则,即接口。各各数据库厂商去实现接口,提供jar包,我们使用jar包中的实现类来操作数据库 package D1; import java.sql.* ; /** *
JDBC的概念:java database connectivity? ? ? ? (java 数据库连接?) 本质就是 sun公司定义的一套操作所有关系型数据库的规则,即接口。各各数据库厂商去实现接口,提供jar包,我们使用jar包中的实现类来操作数据库 package D1; import java.sql.*; /** * @Author: {---Kyousuke---} * @Date: 2019/8/9 20:08 */ public class Demo1 { private static String dbDriver="com.mysql.Driver"; private static String dbUrl="jdbc:mysql://localhost:3306/myDatabase"; private static String dbUser="root"; private static String dbPwd="root"; public static void main(String[] args) { Connection conn =null; Statement state =null; try { Class<?> c = Class.forName(dbDriver); conn = DriverManager.getConnection(dbUrl,dbUser,dbPwd); state = conn.createStatement(1004,1007); String sql="select * from student3"; ResultSet rs = state.executeQuery(sql);//返回一个ResultSet集合 // int i = state.executeUpdate(sql);//返回受影响记录个数 System.out.println("姓名,id,年龄"); while (rs.next()) { System.out.println(rs.getString("name") + "," + rs.getInt("id") + "," + rs.getInt("age")); } } catch (Exception e) { e.printStackTrace(); }finally { closeJDBC(conn,state); } } public static void closeJDBC(Connection conn,Statement state){ if(state!=null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } 结果: JDBC的现实要有7个步骤 2.注册驱动:
private static String dbDriver="com.mysql.Driver"; Class<?> c = Class.forName(dbDriver); 这是我们导入的jar包下的driver类 ,static代码块会随着class文件被加载进内存而被执行
3.使用managerDriver获得connection对象
private static String dbUrl="jdbc:mysql://localhost:3306/myDatabase"; private static String dbUrl="jdbc:mysql:///myDatabase";
conn = DriverManager.getConnection(dbUrl,dbPwd); 4.使用connection对象获得statement对象
state = conn.createStatement(1004,1007); state = conn.createStatement(); ?参数resultSetType指定ResultSet的类型。其选项有:
参数resultSetConcurrency设置ResultSet的并发性,该参数设定是否可以更新ResultSet。
? 5.使用statement对象执行sql语句
int executeUpdate(String sql)这个方法会返回受影响个数,这个方法来执行增删改语句,只要程序没有抛出异常返回的int值都是大于0的
resultSet executeQuery(String sql)这个方法会返回ResultSet对象,这个方法来执行查询语句并返回查询的结果集
6.处理结果
while (rs.next()) { System.out.println(rs.getString("name") + "," + rs.getInt("age")); } 这里的name,id,age 是数据库中表的列名? ?rs.next 会将游标向前移动,这样就能获得全部结果集的所有数据 7.释放资源
if(state!=null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ? 推一首歌吧? ?也行会成为我的习惯吧 http://music.163.com/song?id=27969909&userid=342547956 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |