原生JDBC连接数据库案例教学

简介: 前言:我们在刚刚接触后端开发时,有没有思考过,怎么才能后java代码和数据库进行交互的呢?

原生JDBC连接数据库案例教学


前言:

我们在刚刚接触后端开发时,有没有思考过,怎么才能后java代码和数据库进行交互的呢?

正轨:

今天就带大家一起学习一下原生JDBC连接数据库

里面解析结果集说了两种:一种需要导入maven依赖:

<dependency>
    <groupId>commons-dbutils</groupId>
    <artifactId>commons-dbutils</artifactId>
    <version>1.6</version>
</dependency>

直接上代码:

public static void main(String args[]){
        Connection con = null;
        Statement sta = null;
        ResultSet rs = null;
        try {
            //1.注册驱动==》告诉指挥部有哪些造桥人可以调遣
            Class.forName("com.mysql.cj.jdbc.Driver");
            //这里是mysql为例   oracle的url ---"jdbc:oracle:thin:@localhost:1521:orcl"
            String url = "jdbc:mysql://127.0.0.1:3306/test_1.0";
            String user = "root";
            String pwd =  "root";
            //2.获得链接==》指挥部根据传入类型 调遣不同的造桥的人造桥
            con = DriverManager.getConnection(url,user,pwd);
            //3.创建Statement对象===》造车
            sta = con.createStatement();
            //4.执行SQL ==》运行SQL 有结果返回
            String sql="select * from user";
            rs = sta.executeQuery(sql);
            //5.处理结果
            while(rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                //String code = rs.getString("");
                System.out.println(id+"\t"+name+"\t"+age+"\t");
            }
            System.out.println("----------------华丽分割线------------------");
            //第五步处理结果还可以引入Dbutils工具包来解析结果
            QueryRunner queryRunner = new QueryRunner();
            List<User> list = queryRunner.query(con, sql, new BeanListHandler<>(User.class));
            list.forEach(x-> System.out.println(x));
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }finally {
            //6.关闭资源
            close(con,sta,rs);
        }
    }

其中,在结束时要关闭资源,防止资源浪费,这里封装了一个关闭资源方法,代码如下:

public static void close(Connection con , Statement sta , ResultSet rs){
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            sta.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

运行结果展示,代码如下:

/**
     * 运行结果展示:
     * 解析ResultSet结果
     * 1  df  222
     * 2  wang  22
     * ----------------华丽分割线------------------
     * 使用Dbutils来拿取数据库结果展示
     * User(id=1, name=df, age=222)
     * User(id=2, name=wang, age=22)
     */

结语:

这样就和数据库建立了连接,当然对于数据库的url,账号密码可以写在配置文件中,这样方便修改,本博客目的是讲一下原生JDBC怎么与数据库建立连接的,有什么问题留言呦!!有时间写一下Dbutils工具包QueryRuunner的常用方法.



相关文章
|
22天前
|
安全 Java 数据库连接
gbase8a JDBC常用特性-Kerberos认证方式连接
JDBC常用特性-Kerberos认证方式连接
|
23天前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
24天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
8天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
2月前
|
SQL 数据库
GBase8a 数据库集群v953扩容案例问题分享
GBase8a 数据库集群v953扩容案例问题分享
|
2月前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
存储 SQL 数据库
Sybase数据恢复—Sybase数据库常见问题之数据库无法启动的恢复案例
Sybase数据库数据恢复环境: Sybase数据库版本:SQL Anywhere 8.0。 Sybase数据库故障&分析: Sybase数据库无法启动。 使用Sybase Central连接报错。 数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,部分存储页底层数据完全杂乱。
|
29天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例