高效掌握JDBC技术(二)| 掌握ORM思想 | 定义连接数据库的工具类(下)

简介: 高效掌握JDBC技术(二)| 掌握ORM思想 | 定义连接数据库的工具类

二、实现数据库连接的工具类——JDBCUtils

从上面书写Dao接口实现类的时候我们发现,每当我要对数据库进行操作就要建立一个连接,书写六大步骤,是不是过于繁琐呢?因此我们直接实现一个数据库连接的工具类来减少重复代码的书写。


1、JDBCUtils的具体代码实现

package com.bz.util;
import java.sql.*;
/**
 * 工具类:方便方法调用,所有方法都应为静态方法
 */
public class JDBCUtils {
    public static Connection getConnection(){
        Connection conn =null;
        try {
            //1. 加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2. 获取连接
            //用户名
            String username = "root";
            //密码
            String pwd = "123456";
            //连接的url
            String url = "jdbc:mysql://localhost:3306/baizhi2109?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
            conn = DriverManager.getConnection(url, username, pwd);
        }catch (ClassNotFoundException e){
            System.out.println("驱动路径不正确");
        }catch (SQLException e){
            System.out.println("获取连接失败");
        }catch (Exception e){
            System.out.println("未知异常");
            e.printStackTrace();
        }
       return conn;
    }
    /**
     * 关闭资源连接  非空判断:防止空指针
     * @param rs
     * @param ps
     * @param conn
     */
    public static void close(ResultSet rs, PreparedStatement ps,Connection conn){
        if (rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                System.out.println("关闭rs失败");
            }
        }
        if (ps!=null){
            try {
                ps.close();
            } catch (SQLException e) {
                System.out.println("关闭ps失败");
            }
        }
        if (conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                System.out.println("关闭conn失败");
            }
        }
    }
}

2、调用工具类

public class UserDaoImpl implements UserDao {
    @Override
    public int insertUser(User user) throws Exception{
        //调用工具类的方法获取连接
        Connection conn=JDBCUtils.getConnection();
        //3. 获取发送SQL的工具
        String sql="insert into t_user (u_name,u_sex,u_age) VALUES(?,?,?)";
        PreparedStatement ps = conn.prepareStatement(sql);
        //4. 发送并执行SQL
        //给占位符赋值:用参数对象的值给表中字段赋值
        ps.setString(1,user.getName());
        ps.setString(2,user.getSex());
        ps.setInt(3,user.getAge());
        int n=ps.executeUpdate();
        //5. 处理结果集  略
        //6.调用工具类方法关闭资源
        JDBCUtils.close(null,ps,conn);
        return  n;//把受影响行数返回
    }
}
目录
相关文章
|
25天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
3月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
697 1
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
150 0
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
63 0
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
83 0
|
5月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
73 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)

热门文章

最新文章