java DataBase Connectivity
JDK 提供,Java连接数据库(oracle mysql)的规范
接口:java.sql
接口实现类:数据库厂商完成
--
1.连接 Connection
2.操作数据 Statement
3.结果 ResultSet
1.先导jar包 数据库驱动包-JDBC实现类
mysql-connector
ojdnc
2.连接数据库
加载驱动类
com.mysql.jdbc.Driver
oracle.jdbc.driver.OracleDriver
回顾类加载过程:
类被使用时加载
1.new对象
2.使用类的静态成员[变量、方法]的时候
3.子类加载会加载父类
4.Class.Forname("java.lang.String") -通过类名加载类
顺序:静态属性、方法、代码块
先父类再子类
--
java连接数据库
1.加载驱动类(可能产生异常ClassNotFoundException)
产生原因:1.类名写错 2.jar包没导入
Class.ForName("com.mysql.jdbc.Driver");
Class.ForName("oracle.jdbc.driver.OracleDriver");
2.获得数据库连接 工具类DriverManager
oracle:ip port sid username password
mysql:ip port database username password
url:
oracl--jdbc:orace:thin:@192.168.6.66:152:orcl
mysql--jdbc:mysql://127.0.0.1:3306/test
jdbc:mysql://localhost:3306/tes
jdbc:mysql:///test 本地默认端口号的数据库
可能产生异常:SQLException
产生原因:1:账号密码错误 2:url错误(格式错误)
Connection conn=DriverManager.getConnection(
"jdbc:myql://127.0.0.1:3306/test",
"root",
"123");
3.获得操作数据库的Statement对象
执行sql语句的方法:3种
execute() ->DDL DML DQL 通常执行DDL
返回值 boolean 是否有结果集
executeUpdate() ->DML
返回值 int 更新数据行数
executeQuery() ->DQL
返回值 ResultSet 结果集
Statement stm =conn.createStaement();
ResultSet rs=stm.execueQuery(sql);
ResultSet 所有查出来的数据都村粗在这里
一条数据,查询结果的一行
rs.next(); 迭代器种的两句话效果hasNext(); next();
conn.close();
释放资源 rs stm conn 一层层关闭
频繁的开启和关闭连接是不推荐的非常消耗资源
/解决方案:连接池
JDBC
最新推荐文章于 2022-11-23 21:28:13 发布