IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 使用jdbc执行SQL实现登录查询1-带配置文件和工具类 -> 正文阅读

[Java知识库]使用jdbc执行SQL实现登录查询1-带配置文件和工具类

1.jdbc.properties 配置文件


url = jdbc:mysql:///db2
user = root
password = 12345678
driver = com.mysql.cj.jdbc.Driver

2.Utils.JDBCUtils抽取的工具类

package Utils;

import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;


/**
 * @author Alina
 * @date 2022年02月05日 10:14 下午
 * JDBC的工具类,
 * 1.动态注册驱动
 * 2.释放资源
 * 对应文件6
 */
public class JDBCUtils {
    private static String url;
    private static String user;
    private static String password;
    private static String driver;
    /***
     *
     * @author Alina
     * @date 2022/2/5 10:53 下午
     * @param null
     * @return null
     * 声明静态代码块,以方便调用类时,代码块的内容就被执行
     */
    static {

        try {
            //使用Properties 类读取配置文件中内容
            Properties pro = new Properties();
            //使用class类的Classload 方法获得绝对地址
           ClassLoader loader = JDBCUtils.class.getClassLoader();
           URL res_url = loader.getResource("jdbc.properties");
           String path = res_url.getPath();
          

            //读取配置文件中内容
            pro.load(new FileReader(path));
            //此处后面的变量记得加双引号
            url = pro.getProperty("url");
            user = pro.getProperty("user");
            password = pro.getProperty("password");
            Class.forName(pro.getProperty("driver"));

        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }



    }
    /***
     *
     * @author Alina
     * @date 2022/2/5 10:57 下午
     * @return java.sql.Connection
     * 使用方法获得数据库链接方式
     */

    public static Connection getconnection() throws SQLException {
        return DriverManager.getConnection(url,user,password);
    }




    public static void close(Statement stmt, Connection coon) {
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }

        }
        if (coon != null) {
            try {
                coon.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
    public static void close(ResultSet res ,Statement stmt, Connection coon) {
        if (res != null) {
            try {
                res.close();
            } catch (SQLException throwables) {
                    throwables.printStackTrace();
            }

        }

        if (stmt != null) {
            try {
                    stmt.close();
            } catch (SQLException throwables) {
                    throwables.printStackTrace();
            }

        }
        if (coon != null) {
            try {
                    coon.close();
            } catch (SQLException throwables) {
                    throwables.printStackTrace();
            }
        }

    }
}

3.获取的数据库内容

package com.jdsc;


import Utils.JDBCUtils;
import domain.Emp;

import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * @author Alina
 * @date 2022年02月05日 8:14 下午
 * 将数据库内查询到的数据封装为对象储存
 */
public class jdbcDemo6 {
    public static void main(String[] args) {
        List<Emp> list = new jdbcDemo6().findAll();
        System.out.println(list);

    }
    public List<Emp> findAll()  {
        // 解析class文件 链接驱动
        Connection conn = null;
        Statement stml = null;
        ResultSet res = null;
        List<Emp> list = null;
        try {
//            Class.forName("com.mysql.cj.jdbc.Driver");
//            //链接数据库
//            conn = DriverManager.getConnection(
//                    "jdbc:mysql:///db2",
//                    "root",
//                    "12345678");
            conn = JDBCUtils.getconnection();

            //获取执行sql的对象 Statement
            stml = conn.createStatement();
            //定义Sql语句
            String sql = "select * from db2.emp";
            //获取执行SQL语句后的结果集对象
            res = stml.executeQuery(sql);
            list = new ArrayList<Emp>();
            Emp emp = null;

            //如果当前游标有下一个目标
            while (res.next()){
                //获取指定行数中的列的值
                int id = res.getInt("id");
                String name = res.getString("NAME");
                String gander = res.getString("gender");
                double salary = res.getDouble("salary");
                Date date = res.getDate("join_date");
                int dept_id = res.getInt("dept_id");
                //创建emp对象
                emp = new Emp();
                emp.setId(id);
                emp.setName(name);
                emp.setGender(gander);
                emp.setSalary(salary);
                emp.getDate(date);
                emp.setDept_id(dept_id);
                list.add(emp);
            }
        } catch ( SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils.close(res,stml,conn);

        }



        return list;

    }

}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:41:29  更:2022-02-06 13:42:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:30:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码