JDBC
Posted jiayiblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。
一.JDBC简介
1.什么是JDBC?
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
开发公司:sun
2.JDBC可以用来做什么?
简单地说,JDBC 可做三件事:与数据库建立连接、发送、操作数据库的语句并处理结果。
3.JDBC的优劣势?
优点:直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台性比较强。因为是底层的操作,所以访问速度相比较快。
缺点:sql语句修改,需要重新编译java代码,不利于系统维护。JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致。
需要及时处理异常并正确关闭数据源。
4.JDBC的工作原理(转自百度百科)
- JDBC接口(API)包括两个层次:
- 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
- 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。
- JDBC驱动程序:各个数据库厂商根据JDBC的规范制作的 JDBC 实现类的类库
-
JDBC驱动程序总共有四种类型:
第一类:JDBC-ODBC桥。
第二类:部分本地API部分Java的驱动程序。
第三类:JDBC网络纯Java驱动程序。
第四类:本地协议的纯 Java 驱动程序。
-
二. JDBCD应用
1.添加jar包:方式一:在pom.xml中<dependencies></dependencies>节点下添加依赖(https://mvnrepository.com/artifact/mysql/mysql-connector-java),<dependency>
方式二; 或者官网上手动下载mysql-connector-java jar包 在项目WEB-INF下创建lib文件将jar包导入然后Add library
2.
public class NewsDao //数据库URL public static final String URL = "jdbc:mysql://localhost:3306/kgcnews"; //数据库用户名 public static final String USER = "root"; //数据库密码 public static final String PASSWORD = "123456"; //数据库连接对象 Connection conn =null; //SQL执行对象 Statement stament = null; //结果集对象 ResultSet rs = null; //连接数据库方法 public Connection connection() try //1.加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); //2. 获得数据库连接 conn = DriverManager.getConnection(URL, USER, PASSWORD); System.out.println("成功连接数据库"); catch (ClassNotFoundException e) System.out.println("数据库异常"); e.printStackTrace(); catch (SQLException e) System.out.println("数据库异常"); e.printStackTrace(); return conn; //查询方法 public ResultSet query(String sql) throws SQLException //获取数据库连接线程 connection(); // 3.通过connection 获取一个sql语句操作对象statement stament = conn.createStatement(); // 4.执行sql获得结果 rs = stament.executeQuery(sql); return rs; //关闭资源 public boolean destory() throws SQLException if(rs!=null) try rs.close(); catch (SQLException e) e.printStackTrace(); return false; if(stament!=null) try stament.close(); catch (SQLException e) e.printStackTrace(); return false; if(conn!=null) try conn.close(); catch (SQLException e) e.printStackTrace(); return false; return true; public static void main(String[] args) throws SQLException
String sql = "SELECT `userName`,`password` FROM `news_user` WHERE `id` = 4";
String sql2 = "SELECT `title`,`createDate` FROM `news_detail`";
NewsDao nd = new NewsDao();
Connection conn = nd.connection();
ResultSet rs = nd.query(sql2);
//查询后操作结果集,得到相对应的数据
while(rs.next())
System.out.println(rs.getString("title")+"-"+rs.getString("createDate"));
nd.destory();
以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章