JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC访问数据库的步骤:
1.加载数据库驱动
2.获得数据库连接
3.创建SQL语句
4.执行查询
5.遍历结果集
6.关闭数据库连接
下面看一个小程序:
package com.jspring.jdbc;    

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;    

public class Demo1 {
         public static void main(String args[])
        {
                query();
        }
         public static void query()
        {
                Connection conn= null;
                 //1.加载数据库驱动
                 try {
                        Class.forName( "com.mysql.jdbc.Driver");
                         //DriverManager 驱动程序管理器 在数据库和相应驱动程序之间建立连接
                         //2.获得数据库连接
                        conn=DriverManager.getConnection( "jdbc:mysql://127.0.0.1/jdbc_db","root","1234");
                        //3.创建语句
                        String sql="select * from UserTbl";
                        //返回一个执行SQL的语句
                        Statement stmt = null;
                        stmt = conn.createStatement();
                        //返回查询的
                        //4.执行语句
                        ResultSet rs = null;
                        rs = stmt.executeQuery(sql);
                        //5.遍历结果集
                                while(rs.next())
                                {
                                        int id=rs.getInt(1);
                                        String username=rs.getString(2);
                                        String password=rs.getString(3);
                                        int age=rs.getInt(4);
                                        System.out.println(id+":"+username+":"+password+":"+age);
                                }
                } catch (Exception e) {
                        e.printStackTrace();
                }finally{
                        if(conn!=null){
                                try{//5.关闭数据库连接
                                        conn.close();
                                }catch(SQLException e){
                                        conn=null;
                                        e.printStackTrace();
                                }
                        }
                }
        }    

}    

1.此程序首先要在这个程序所在的工程中插入连接数据库的jar包(然后右击选择build path-----add  to build path),然后才能执行程序否则会出现以下错误提示:
1
这个程序通过执行
Class.forName("com.mysql.jdbc.Driver");
这个语句实现加载驱动,因为我用的是MYSQL的数据库,所以加载的mysql的驱动,如果你用的是其他数据库,那就要加载其他数据库的jar包。
2.和数据库建立连接通过
conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/jdbc_db","root","1234");
语句,getConnection函数中三个参数分别是url,user,password
3.创建语句,在这个程序中只建立了一个查询语句,我们可以根据自己的业务需求建立其他的语句,例如插入,更新等语句
4.Statement是静态的SQL语句,用来盛放SQL语句,他有一个子类为PreparedStatement为预编译静态语句
5.ResultSet 是用来盛放查询结果的一个集合
程序运行结果:
如果usertbl表中有数据就会打印在控制台上如
1
如果usertbl表中没有数据那么控制台上就没有任何数据
如果数据库中没有这个表则会出现
1
在使用JDBC时一定要加载数据库驱动!
一般情况下,我们会采用下面这种方法和数据库进行连接
将数据库的驱动连接和url,user,password都写到配置文件中,通过从配置文件中读数据来建立连接,看下面程序
public class ConnectionUtil {
         public Connection openConnection(){
                String driver = "";
                String url = "";
                String user = "";
                String password = "";
                Properties prop = new Properties();
                Connection conn = null;
                 try {
                         //加载属性文件
                        prop.load( this.getClass().getClassLoader().getResourceAsStream( "DBConfig.properties"));
                        driver = prop.getProperty( "driver");
                        url = prop.getProperty( "url");
                        user = prop.getProperty( "user");
                        password = prop.getProperty( "password");
                         //Class.forName加载驱动
                        Class.forName(driver);
                         //DriverManager获得连接
                        conn = DriverManager.getConnection(url,user,password);
                         return conn;
                } catch (Exception e) {
                        e.printStackTrace();
                }
                 return null;
        }
}    

在和数据库进行连接时,我们只需要调用这个类就可以了
在第一个程序中我们提到了一个PreparedStatement类,现在我们看一下关于这个类的使用情况
public class Main {    

         public static void main(String[] args) {
                Customer c = new Customer();
                c.setName( "hans");
                c.setEmail( "[email protected]");
                TestPrepareStatement.add(c);
                 }
         public static void add(Customer c) {
                Connection conn = new ConnectionUtil().openConnection();
                String sql = "insert into CustomerTbl(name,email) values(?,?)";
                 try {
                        PreparedStatement pstmt = conn.prepareStatement(sql);
                        pstmt.setString(1, c.getName());
                        pstmt.setString(2, c.getEmail());
                        pstmt.executeUpdate();
                } catch (SQLException e) {
                        e.printStackTrace();
                }
        }    

}    

PreparedStatement为预编译静态SQL语句,就是在sql语句中留下一个缺口,由调用这个函数的的成员来补全。
职场 程序 休闲 mysql

0

收藏

上一篇:MySQL Server 5.0... 下一篇:WEB开发与配置
JDBC小程序_第2张图片
冯魁

52篇文章,27W+人气,0粉丝

关注
JDBC小程序_第3张图片

Ctrl+Enter 发布

发布

取消

推荐专栏更多

JDBC小程序_第4张图片
十年老兵教你练一套正宗的MySQL降龙十八掌

MySQL全通晓

共18章 | 张甦

¥51.00 418人订阅
订   阅
JDBC小程序_第5张图片
负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 554人订阅
订   阅

猜你喜欢

我的友情链接 jquery之empty()与remove()区别 python的排序函数sort,sorted在列表排序和字典排序中的应用详解和举例 教你打包Java程序,jar转exe随处可跑 用Java写算法之五:快速排序 tomcat启动过程报the JDBC Driver has been forcibly unregistered问题的修复过程 [解决]ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 一个经典的JDBC连接MySQL的程序 添加打印机提示打印后台程序服务没有运行的解决方法 在C#应用程序中,对comboBox这个控件的一些基本用法 该文件没有程序与之关联来执行操作,请在控制面板的文件夹选项中创建关联的解决办法 【啊哈!算法】最快最简单的排序——桶排序 PostgreSQL VFD机制 支付结算系统如何应对高并发、热点账户等问题 PostgreSQL WAL解析:构建WAL记录准备 playbook自动安装kafka集群 PostgreSQL的B-tree索引 PostgreSQL pg_rewind实例--could not find previous WA redis geo 地理位置系应用战案例 PostgreSQL逻辑备份pg_dump使用及其原理解析
JDBC小程序_第6张图片
JDBC小程序_第7张图片

扫一扫,领取大礼包

0

分享
JDBC小程序_第8张图片
关注
冯魁
JDBC小程序_第9张图片