Java自学第6课:电商项目(2)

news2024/12/25 9:31:27

1 创建工具类并连接数据库

在工程src右键单击new,新建util包

再创建DBUtil类

数据库交互需要有数据库支持的包,这是官方给出的类库。

先声明1个代码块

    // 静态代码块 只加载1次
    static{
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("mysql初始化失败了,请重新尝试");
            e.printStackTrace();
        } // 通过反射机制 加载驱动
    }

   再写链接的成员方法

    // 写1个方法来获取连接
    // Connection 是一个接口 interface
    public static Connection getConn() {
        Connection conn = null; // 声明此接口 为了调用其方法 从而获取连接
        try {
            // 加载驱动  库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ebuys?useUnicode=true&characterEncoding=utf8","root","1234");
        } catch (SQLException e) {
            System.out.println("连接失败,是否有启动mysql数据库呢");
            e.printStackTrace();
        }
        return conn;    
    }

写的过程中要不断的指定类是哪个包里的。

在写关闭链接的方法

   public static void closeConn(Connection conn) {
        if(null != conn) {
            try {
                conn.close();
            } catch (SQLException e) {
                System.out.println("关闭失败了");
                e.printStackTrace();
            }
        }
    }
    
    public static void closeState(PreparedStatement pstmt) {
        if(null != pstmt) {
            try {
                pstmt.close();
            } catch (SQLException e) {
                System.out.println("close pstmt error"+pstmt);
                e.printStackTrace();
            }
        }
    }

    public static void closeResult(ResultSet rs) {
        if(null != rs) {
            try {
                rs.close();
            } catch (SQLException e) {
                System.out.println("close rs error"+rs);
                e.printStackTrace();
            }
        }
    }

可以把三个关闭写为一个序贯的方法

    public static void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs) {
        closeResult(rs);
        closeState(pstmt);
        closeConn(conn);
    }

这时候前三个方法都可以写为私有的了,当然公有的也行。

最后,写一个main方法

    public static void main(String[] args) {
        try {
            DBUtil.getConn();
            System.out.println("数据库连接成功");
        } catch (Exception e) {
            System.out.println("数据库连接失败");
            e.printStackTrace();
        }
        
        
    }

调用了整个连接数据库的过程。下面用java application测试一下

当然 在测试前,先看看服务里mysql是不是在运行中,这时候说mysql数据库链接成功,说明代码没问题。注意用的是java application,syso方法是在console里显示的,不是在网页上,因为这里只是调用数据库,没有在tomcat服务器上运行。

2

为了处理业务,再创建1个控制层的包

再创建1个类,也可以创建servlet

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

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

相关文章

基于springboot实现高校党务平台管理系统【项目源码】

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群&#x…

可持久化01Trie

例题: 解释: 首先这里要求连续异或,所以存储前缀异或和数组。首先的话,我们只考虑前r个版本的Trie,所以以root[r]为根节点的Trie就是1到r位置数。但是,还有一个l左端点,所以我们对于每一个节点…

python开发过程中注意编码规范~

文章目录 一、 代码编排二、 文档编排三、 空格的使用四、 注释五、 文档描述六、 命名规范总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。七 编码建议关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、…

解析虚拟文件系统的调用

Linux 可以支持多达数十种不同的文件系统。它们的实现各不相同,因此 Linux 内核向用户空间提供了虚拟文件系统这个统一的接口,来对文件系统进行操作。它提供了常见的文件系统对象模型,例如 inode、directory entry、mount 等,以及…

【Git】如何安装git,项目中使用git上传到远程仓库,使用git中对多人使用出现的版本问题的解决

前言: 一,Git的介绍,安装,与SVN的对比 1.1Git的介绍 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控…

c语言练习10周(11~15)

将b串中的所有字母字符连接在a串之后并输出&#xff0c;a,b串最多30个字符。 题干将b串中的所有字母字符连接在a串之后并输出&#xff0c;a,b串最多30个字符。输入样例abcdef 1A2D3C4F5GG输出样例abcdefADCFGG #include<stdio.h> int main() {char a[30], b[30];int i0…

20 VPN详解

1、连接数据中心 1.第一种方式是走公网&#xff0c;但是公网太不安全 2.第二种方式是专线&#xff0c;但是比较贵 3.VPN连接2、vpn的概念 全名Virtual Private Network&#xff0c;虚拟专用网&#xff0c;就是利用开放的公众网络&#xff0c;建立专用数据传输通道&#xff0c…

无人机航迹规划:六种最新智能优化算法(DBO、LO、SWO、COA、LSO、KOA)求解无人机路径规划MATLAB

一、六种算法&#xff08;DBO、LO、SWO、COA、LSO、KOA&#xff09;简介 1、蜣螂优化算法DBO 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为…

《荒野大镖客》游戏emp.dll丢失的修复方法,快速解决找不到emp.dll问题

《荒野大镖客》是一款备受玩家喜爱的开放世界冒险游戏&#xff0c;然而&#xff0c;有些玩家在游戏中可能会遇到emp.dll文件丢失的问题。emp.dll文件丢失是一个比较常见的问题&#xff0c;它会导致电脑系统出现各种异常情况&#xff0c;比如程序无法正常运行、弹出错误提示等。…

电脑上使用的待办事项便签工具选择哪一款?

电脑是日常办公中必不可少的工具&#xff0c;每一个人每天都要面对纷纷总总的工作待办任务&#xff0c;倘若能当日常工作待办逐一罗列好&#xff0c;提前制定好相关的工作计划后&#xff0c;就可以让各项工作有据可循&#xff0c;在电脑上有哪些可以记录待办事项的工具能实时起…

H5横屏适配方案

横屏模式一般使用场景比较少&#xff0c;特殊情况除外&#xff0c;一般用于游戏、操作性比较大的网页会采用横屏 整体代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" conte…

零基础入门Python基础知识全面梳理!从零开始成为编程高手

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、python程序的组成二、核心的数字类型1.整型 int &#xff08;0、负自然数、正自然数&#xff09;2.浮点数 float &#xff08;带有小数部分的数&#xff0c;小数…

app自动化测试(Android)--显式等待机制

WebDriverWait类解析 WebDriverWait 用法代码 Python 版本 WebDriverWait(driver,timeout,poll_frequency0.5,ignored_exceptionsNone)参数解析&#xff1a; driver&#xff1a;WebDriver 实例对象 timeout: 最长等待时间&#xff0c;单位秒 poll_frequency: 检测的间隔步…

配置中心和注册中心——Nacos

Nacos是一个开源的动态服务发现、配置管理和服务管理平台。它主要包括两个方面的功能&#xff1a;配置中心和注册中心。 1. 配置中心&#xff1a; Nacos作为配置中心&#xff0c;提供了一个集中管理和动态获取应用程序配置的平台。开发人员可以将配置信息存储在Nacos中&#x…

迅为RK3399Qt 实时时钟测试

QClock 测试资料在网盘“iTOP-3399 开发板\iTOP-3399 开发板\02_iTop-RK3399 开发资料汇总&#xff08;不含光盘内容&#xff09;\05_iTOP-3399 开发板 Qt 应用开发资料\3399 开发板 QT 测试-实时时钟”目录下&#xff0c;我们将要运行 QClock程序到开发板的 Qt 系统上。参考第…

力扣最热一百题——每日温度

Python后面的文章&#xff0c;内容都比较多&#xff0c;但是同时我又想保持每天更新的速度&#xff0c;所以Python的文章我继续打磨打磨&#xff0c;先更新一篇算法的文章。 一身正气报国家&#xff0c;旁无乱境不恋她 ヾ(◍∇◍)&#xff89;&#xff9e; 力扣题号&#xff1a…

Python实现从Labelme数据集中挑选出含有指定类别的数据集

Python实现从Labelme数据集中挑选出含有指定类别的数据集 前言前提条件相关介绍实验环境Labelme数据集中挑选出含有指定类别的数据集代码实现输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小…

1、C语言面向对象引入类和对象的概念

什么是类和对象 类 类是用户自定义的一种数据类型&#xff0c;也称类类型——C语言中的结构体 对象 类的一种具象 代码测试 #include <stdio.h>//类 struct Animal{ char name[12];//成员属性 int age; char sex; void (*peat)();//成员方法 void (*pbeat)(); };void…

解答开发转软件测试岗的困惑

有个知乎网友做了一年的软件开发&#xff0c;打算转软件测试&#xff0c;但是面试了几家都没有回音&#xff0c;希望大家能给一点建议。 由于这个问题不是今年提的&#xff0c;所以不用担心知友是受到了疫情的影响&#xff0c;单纯应该是个人的问题。 因为他只做了一年开发就想…

Java —— 类和对象(二):封装与内部类

1. 封装 1.1 封装的概念 面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象阶段&#xff0c;主要研究的就是封装特性。何为封装呢&#xff1f;简单来说就是套壳屏蔽细节。 我们从另一个角度去看封装: 比如我们的电脑或者手机, 我们看到的是一个包装的非常精致的东…