JDBC(1)简单介绍/数据库的连接

 

初识JDBC:

JDBC是java连接数据库的一个工具,没有这个工具,java将无法和数据库进行连接。

 

JDBC API:

JDBC是个“低级”接口,也就是说,他直接用于调用SQL命令。

 

JDBC驱动类型:

JDBC是应用程序编程接口,描述了在访问关系数据库的标准 java类库。并且还为数据库厂商提供了个标准的体系结构,让厂商

可以为自己的数据库产品提供IDBC驱动程序,这政驱动程序可以直接访向商的数据产品,从而提高了Java 程序访问数据库

的效率,在lana程序设计中,JDBC可以分为以下4种驱动。                                                                                                                                                                                     

1.JBDBC-ODBC

2.本地API驱动

3.网络协议驱动

4.本地协议驱动                                                                                                                                                                                                                                                             

 

JDBC常用接口和类

1.DriverManager

用于管理JDBC驱动的服务类。程序中使用该类主要功能是获取Connection对象。

2.Connection

他代表数据库连接对象,每个Connection代表一次物理会话。

要想访问数据库,必须先获得数据库的连接

3.Statement

用于执行SQL的语句的工具接口。

4.PreparedStatement

这是一个预编译的Statement对象。

5.ResultSet

这是一个得到返回结果的对象,包括查询结果的方法。                       

 

JDBC编程的步骤

1.注册数据库驱动

2.建立连接

3.获得Statement/PreparedStatement对象

4.执行sql语句

5.处理结果集(增删该查)

6.关闭

图形过程如下:

 

 

基本的理论一点的知识介绍的差不多了,剩下的看代码进行解释。

 

现在代码要跑起来了:

1.使用Driver连接数据库

Diver 是一个接口,数据库厂商必须提供的能实现的接口,能从其中获取数据库的连接
建立lib文件
添加jar包
右键--》build path--》add to build path加入到类目录下
@Test
    public void testjdbc() throws SQLException{
        
        //1.创建Driver实现类的对象
        Driver driver  = new com.mysql.jdbc.Driver();
        
        //2.准备数据库连接到基本信息
        String url = "jdbc:mysql://127.0.0.1:3307/shijian";
        Properties info = new Properties();
        info.put("user", "root");
        info.put("password", "1234");
        
        //3.调用Driver的jiekou  Connect(url,info)获取数据库的连接
        Connection connection = driver.connect(url, info);
        System.out.println(connection);
        connection.close();
    }

 

 此时可以成功连接到数据库。

2.编写一个通用的方法,在不修改源程序情况下,连接数据库

那么此时我们可以想到的是把连接数据库需要的代码写道配置文件中

创建db.properties,并且放在类路径下

public Connection getConnection() throws Exception{
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        
        //读取jdbc.Properties文件
        InputStream in = getClass().getClassLoader().getResourceAsStream("db.properties");
        
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");
        
        
        Driver driver = (Driver) Class.forName(driverClass).newInstance();
        Properties info = new Properties();
        info.put("user", user);
        info.put("password", password);
        
        Connection connection = driver.connect(jdbcUrl, info);
        return connection;        
    }

 db.properties

这里不仅可以写mysql的还可以写其他的数据连接所需要的配置

driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3307/shijian
user=root
password=1234

 

 3.使用DriverManager

DriverManager是驱动的管理类

重载的getConnection()方法获取数据库的连接,较为方便
可以同时管理多个驱动,若注册了多个数据库连接,则调用getConnection()方法是传入的值不同,则显示的不同
public void DriverManager() throws Exception{
       //驱动的全类名
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        
    
        // 读取jdbc.Properties文件
        
        InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");
        
        //DriverManager.getConnection(jdbcUrl, user, password);
        //加载驱动程序
        Class.forName(driverClass);
        
        //通过DriverManager的getConnection接口获取数据库的连接
        Connection connection = 
                DriverManager.getConnection(jdbcUrl, user, password);
        System.out.println(connection);
    }

 

 

 现在直接使用jdbc的方式连接数据的项目已经很少了,都是框架,但是这里的一些知识在学习中还是很重要的。

 

转载于:https://www.cnblogs.com/Mrchengs/p/9775988.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBCJava Database Connectivity)是Java语言访问数据库的标准接口。下面是一个简单Java程序演示如何使用JDBC连接数据库(以MySQL为例): 1. 加载数据库驱动 在使用JDBC之前,需要先加载数据库驱动。MySQL的驱动名为com.mysql.jdbc.Driver,可以通过以下代码加载: ``` Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立数据库连接 加载驱动后,可以通过以下代码建立与数据库连接: ``` String url = "jdbc:mysql://localhost:3306/test"; // 数据库连接地址 String username = "root"; // 数据库用户名 String password = "123456"; // 数据库密码 Connection conn = DriverManager.getConnection(url, username, password); ``` 其中,url是连接地址,格式为jdbc:mysql://主机名:端口号/数据库名;username和password是数据库的登录用户名和密码。 3. 执行SQL语句 连接建立成功后,就可以执行SQL语句了。以下是一个简单的查询示例: ``` String sql = "SELECT * FROM users"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("name: " + name + ", age: " + age); } ``` 其中,sql是要执行的SQL语句;Statement对象用于执行SQL语句;executeQuery()方法用于执行查询语句,返回一个ResultSet对象;ResultSet对象用于存储查询结果,可以通过getString()、getInt()等方法获取结果集中的数据。 4. 关闭连接 最后,需要关闭数据库连接,释放与数据库的资源: ``` rs.close(); stmt.close(); conn.close(); ``` 完整的示例代码如下: ``` import java.sql.*; public class JdbcTest { public static void main(String[] args) throws Exception { // 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL语句 String sql = "SELECT * FROM users"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("name: " + name + ", age: " + age); } // 关闭连接 rs.close(); stmt.close(); conn.close(); } } ``` 以上就是使用JDBC连接数据库的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值