使用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的对象 Statementstml = 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;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jdk 环境变量_Windows下jdk下载安装与环境变量配置

下载安装jdk百度搜索jdk版本&#xff0c;以1.8版本为例&#xff0c;百度搜索“jdk1.8”&#xff0c;一般是第一个。百度搜索jdk1.8打开jdk下载页面&#xff0c;这里我们下载jdk1.8 x64版本下载地址&#xff1a;jdk1.8下载地址jdk1.8下载页面下载历史版本的jdk自动跳转登录&…

路由器配置的问题

刚刚买了个路由器&#xff0c;配置起来很容易吧&#xff0c;像往常一样&#xff0c;连接路由器&#xff0c;按照配置过程配置完毕&#xff0c;打开网页&#xff0c;bingo~&#xff0c;上不去网&#xff0c;为啥呢&#xff1f; 然后断开路由器&#xff0c;直接连接网线&#xff…

使用jdbc执行SQL实现登录查询2-避免SQL注入版

配置文件及工具类参考1 package com.jdsc;import javax.rmi.CORBA.Util; import java.sql.*; import java.util.Scanner;/*** author Alina* date 2022年02月06日 12:13 上午* 判断用户登录是否成功* 使用prepareStatement 执行SQL谨防SQL注入*/ public class jdbcDemo7 {publ…

一般试卷的纸张大小是多少_考试试卷统一设置标准规格要求

常用纸张按尺寸可分为A和B两类:A类就是我们通常说的大度纸&#xff0c;整张纸的尺寸是889*1194mm&#xff0c;可裁切A1(大对开&#xff0c;570*840mm)、A2(大四开&#xff0c;420*570mm)、A3(大八开&#xff0c;285*420mm)、A4(大十六开&#xff0c;210*285mm)、A5(大三十二开&…

上传文件

java实现文件上传&#xff0c;参看: 用commons-fileupload-1.2 实现文件上传 转载于:https://www.cnblogs.com/chaoguo1234/p/3156700.html

js true false 转0 1_「0-1岁」早产儿何时一段转二段奶粉

早产儿指的是37周之前出生的宝宝&#xff0c;想必足月宝宝来说&#xff0c;早产宝宝各方面发育都不完善&#xff0c;所以家长在照顾的时候要格外细心。当早产儿出生后&#xff0c;应当先喝早产儿奶粉&#xff0c;等身体发育发育到一定程度时&#xff0c;才更换奶粉。那么早产儿…

使用jdbc执行SQL实现登录查询3 -事务查询版

package com.jdsc;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement;/*** author Alina* date 2022年02月06日 2:51 下午* 开启事务管理数据库&#xff0c;如果事务有异常则回滚到之前的状态* JDBC控…

邮件服务器方案参考

国内私募机构九鼎控股打造APP&#xff0c;来就送 20元现金领取地址&#xff1a;http://jdb.jiudingcapital.com/phone.html内部邀请码&#xff1a;C8E245J &#xff08;不写邀请码&#xff0c;没有现金送&#xff09;国内私募机构九鼎控股打造&#xff0c;九鼎投资是在全国股份…

halcon读取dxf坐标翻转_Halcon二维仿射变换实例探究

二维仿射变换&#xff0c;顾名思义就是在二维平面内&#xff0c;对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换&#xff0c;这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下&#xff1a;① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0…

记录一下,踩得奇奇怪怪的坑

1servlet虚拟路径访问不到(默认的可以访问) url后的路径设置时与项目的名称一致 url必须与这个一致 2.jdbc连接数据库&#xff0c;本地测试无问题&#xff0c;一用tomcat发包就出错&#xff0c;导致连接不上时&#xff0c;看看你得配置文件的位置是否有误 放到resources目录下…

归并排序算法(C#实现)

归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。归并排序有两种方式&#xff1a;1): 自底向上的方法 2):自顶向下的方法 1、 自底向上的方法&#xff08;1&#xff09; 自底向上的基本思想 自底向上的基…

m5310采用芯片 中移物联_芯链HPB引领硬件区块链加密芯片技术,有望在谷歌光芯之前突破...

伴随人工智能时代的开启&#xff0c;世界对于高性能计算机器的需求磅礴发展&#xff1b;以往的高性能计算芯片是基于CMOS数字电路的处理器&#xff0c;而伴随着电子元件的摩尔定律接近技术瓶颈&#xff0c;数字电路芯片的发展速度和发展基础都在缓慢进行&#xff1b;区块链技术…

计算机的硬件工作原理(图片部分资源摘自王道考研资料)

一、现代计算机的组成 此处主存和辅存可以理解为&#xff0c;内存和外存&#xff0c;内存的特点是读取速度快但是不利于保存大量数据&#xff0c;外存的特点 是读取速度慢&#xff0c;但是可以存储大量数据 计算机在开机时不会读取硬盘上的所有数据&#xff0c;开机时先读取的…

rstp协议和stp协议对比_3.TCP和UDP协议对比

TCP、UDP协议对比任务&#xff1a;掌握TCP协议、UDP协议的作用&#xff1b;TCP的三次握手和四次挥手&#xff1b;RST断开连接过程和作用。1.TCPTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC …

XML文件读取工具类

/// <summary> /// Author: jiangxiaoqiang /// </summary> public class XmlReader {// //#region 获取XmlDocument对象/// <summary>/// 根据XML文件内容获取XmlDocument对象/// </summary>/// <param name"xmlFileContent"></pa…

下面为子代选择器结合符的是_郑州大学编译原理试卷及答案(往年试题整合)

二填空题1. 不同的编译程序关于数据空间的存储分配策略可能不同&#xff0c;但大部分编译中采用的方案有两种&#xff1a;静态存储分配方案和动态存储分配方案&#xff0c;而后者又分为(1)和(2)。 2. 规范规约是最(3)规约。3. 编译程序的工作过程一般划分为5个阶段&#xff1a;…

计算机组成原理-数据的表示和运算(图片资源摘自王道考研资料)

一、进位计数制 二、BCD码 此处&#xff1a; 58 0101 1000 1101 超出数据能表达的范围&#xff0c;因为 8421码只能表示0-9 十以上数据视为无效数据&#xff0c;因此在此基础上加六&#xff0c;进行校正--> 11010110 0001 0011 ----拆成两个看

lacp可以在access接口吗_现网必用的链路冗余技术,静态LACP链路捆绑,两分钟快速掌握...

一、链路聚合链路聚合(Link Aggregation)是将—组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法&#xff0c;又称为多接口负载均衡组(Load Sharing Group)或链路聚合组(Link Aggregation Group)1、配置手工负载分担模式链路聚合手工负载分担模式下&#xff0c;Eth-T…