JDBC
来源:互联网 发布:数据库审计产品 编辑:程序博客网 时间:2024/06/05 12:49
JDBC(Java Data Base Connectivity,Java数据库连接)时Sun公司提供的一套数据库编程接口API,可以为多种关系数据库提供统一访问。JDBC编写的程序能够自动地将SQL语句传送给相应的数据库管理系统。尽管JDBC在Java语言层面实现了统一,但不同数据库仍有许多差异,而且JDBC不符合面向对象的软件设计方法,于是诞生了Hibernate项目,Hibernate对JDBC在封装,实现了对数据库操作更宽泛的统一和更好的可移植性。
JDBC编程步骤:
(1)加载驱动程序:为了与特定的数据库相连,JDBc必须加载相应的驱动程序。
例如加载ODBC的语句:Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");
加载Oracle驱动程序语句:Class.forName("oracle.jdbc.driver.OracleDriver");
加载SQL Server驱动程序的语句:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
加载MySql驱动程序语句:Class.forName("com.mysql.jdbc.Driver");
(2)获得连接对象:将驱动程序传递到DriverManager,然后获得连接Connection对象,参考语句如下:
//数据库连接路径
String url="jdbc:mysql://localhost:3306/test";
Connection con=DriverManager.getConnection(url,"数据库用户名","数据库密码");
(3)创建语句:使用Statement、PreparedStatement或CallableStatement对象,并将它们用于更新数据库或执行查询,它们都专用于发送特定类型的SQl语句:Statement对象用于执行不带参数的简单SQl语句;PreparedStatement对象用于执行带或不带IN参数的预编译SQL语句;CallableStatement对象用于执行对数据库已存储过程的调用。
(4)查询返回包含有已请求数据的ResultSet:该ResultSet是按类型检索的,它包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
(5)关闭数据库连接:为了释放资源,需要对数据连接对象进行关闭操作。
面试题:
java.sql.PreparedStatement接口是预编译Statement,它是Statement的子接口。如果数据库支持预编译,它可以将SQl语句传给数据库做预编译,以后每次执行这个SQL语句时,速度就可以提高很多。
例如:使用预编译方式传入查询条件查询student表的数据,参考如下:
String sql="select id,name,age from student where name=? and age=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"阿迷果");
pstmt.setInt(2,28);
rs=pstmt.executeQuery();
while(re.next()){
System.out.println(rs.getString("name"));
}
- jdbc
- JDBC
- jdbc
- JDBC
- jdbc
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- jdbc
- JDBC
- JDBC
- jdbc
- 查询地点拾取坐标
- [OpenWrt] openwrt的一些琐事
- shell流程控制语句一览
- linux 自动执行 crontab学习笔记
- ListView自适应实现表格
- JDBC
- 如何增加电量显示格数,并提示剩余电量?
- 浮点型与0比较
- The Coldest Place On Earth——Chapter 4 Food Depots
- ABAP 屏幕 function ALV 报错信息,添加红绿灯
- 【技术直通车】Spatialite for Android编译及测试
- 一个基于面向对象设计的JS控件库 -- FDUI
- 【教程连载】ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map
- 解决mysql 不同编码查询