营销型网站建设的五力原则包括/怎样推广自己的店铺啊

营销型网站建设的五力原则包括,怎样推广自己的店铺啊,有哪些网站能免费建站,网络营销的七种方法1.数据库连接管理 1.1 使用JDBC获取连接 JDBC是Java标准库提供的API,用于连接和操作关系型数据库。它是最基础、最常用的数据库连接方式。 步骤: 加载数据库驱动。建立连接。创建Statement或PreparedStatement对象。执行SQL查询或更新。处理结果集。关…

1.数据库连接管理

1.1 使用JDBC获取连接

JDBC是Java标准库提供的API,用于连接和操作关系型数据库。它是最基础、最常用的数据库连接方式。

步骤:

  1. 加载数据库驱动。
  2. 建立连接。
  3. 创建Statement或PreparedStatement对象。
  4. 执行SQL查询或更新。
  5. 处理结果集。
  6. 关闭连接。
 private static final String URL = "jdbc:mysql://localhost:3306/pet_management?useSSL=false&serverTimezone=UTC";private static final String USER = "root";private static final String PASSWORD = "226774";public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {// 1. 加载数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2. 建立数据库连接connection = DriverManager.getConnection(URL, USER, PASSWORD);// 3. 创建 PreparedStatement 并设置参数String sql = "SELECT id,`name`,species,age FROM pets WHERE age > ?";preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1,"3");// 4. 执行查询resultSet = preparedStatement.executeQuery();// 5. 处理结果集while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");String species = resultSet.getString("species");int age = resultSet.getInt("age");System.out.println("ID: " + id + ", Name: " + name +",Species"+species+ ", Age: " + age);}} catch (ClassNotFoundException e) {System.err.println("数据库驱动未找到: " + e.getMessage());} catch (SQLException e) {System.err.println("数据库连接失败: " + e.getMessage());} finally {// 6. 关闭资源try {if (resultSet != null) resultSet.close();if (preparedStatement != null) preparedStatement.close();if (connection != null) connection.close();} catch (SQLException e) {System.err.println("资源关闭失败: " + e.getMessage());}}}

由于获取数据库连接资源比较繁琐,因此要对数据库连接进行管理。
对数据库连接进行配置化管理连接串,用户名,密码以及驱动类,配置化管理就是把相关的字符串放入到一个文件中,这个文件可以是接口,可以是properties文件,可以是xml文件。

1.2 使用接口方法获取连接

1.创建接口

public interface DBconfig {//把连接的地址,用户名,密码作为常量封装到接口中public static final String URL = "jdbc:mysql://localhost:3306/pet_management?useSSL=false&serverTimezone=UTC";public static final String USER = "root";public static final String PASSWORD = "226774";
}

2.创建连接工具类

public class ConnectionHelp {//静态代码块,调用类时只加载一次static{try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {throw new RuntimeException(e);}}//构造私有化,不能再创建ConnectionHelp对象private ConnectionHelp(){}//创建数据库连接,封装到方法中public static Connection getCon() throws SQLException {Connection connection = DriverManager.getConnection(DBconfig.URL,DBconfig.USER,DBconfig.PASSWORD);return connection;}
}

3.调用连接并测试查询语句

public class TestConnection {public static void main(String[] args) throws SQLException {//调用连接方法ConnectionHelp.getCon();String sql = "select * from pets where id = ?";PreparedStatement preparedStatement = ConnectionHelp.getCon().prepareStatement(sql);preparedStatement.setInt(1,1);ResultSet resultSet = preparedStatement.executeQuery();while (resultSet.next()){String name = resultSet.getString("name");String species = resultSet.getString("species");int age = resultSet.getInt("age");System.out.println("姓名:"+name + " \t种类:" + species + " \t年龄:" + age);}}
}

1.3 使用properties文件获取连接

​ properties文件是一个文本文件,用key=value这样的方法进行保存数据,由于不需要编译,所以在idea中,要放入到资源文件夹(scr/main/resources)中。

1.创建config.properties配置文件

driverName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/pet_management?useSSL=false&serverTimezone=UTC
username=root
userpass=226774

2.创建链接工具类

 private static  String driverName;private static  String url;private static  String userName;private static  String userPass;static{InputStream in = ConnectionHelp2.class.getResourceAsStream("/conf.properties");Properties prop = new Properties();try {prop.load(in);driverName = prop.getProperty("driverName");url = prop.getProperty("url");userName = prop.getProperty("username");userPass = prop.getProperty("userpass");Class.forName(driverName);} catch (Exception e) {throw new RuntimeException(e);}}private ConnectionHelp2(){}public static Connection getCon() throws SQLException {Connection connection = DriverManager.getConnection(url,userName,userPass);return connection;}

3.调用连接并测试

此处与方法2相同,不同的是连接工具类的差异,以及调用时使用的连接工具类不同ConnectionHelp2.getCon();

public static void main(String[] args) throws SQLException {ConnectionHelp2.getCon();String sql = "select * from pets where id = ?";PreparedStatement preparedStatement = ConnectionHelp2.getCon().prepareStatement(sql);preparedStatement.setInt(1,1);ResultSet resultSet = preparedStatement.executeQuery();while (resultSet.next()){String name = resultSet.getString("name");String species = resultSet.getString("species");int age = resultSet.getInt("age");System.out.println("姓名:"+name + " \t种类:" + species + " \t年龄:" + age);}}

4.扩展:使用第三方组件读取properties文件

第三方组件:非java的jdk提供的标准类,由非官方提供的类功能包

建议看一个第三方包,国产组件:hutool,指南位置:https://plus.hutool.cn/pages/index/

使用第三方组件的标准流程

1.要根据官网/maven依赖查询网址,把组件依赖添加到项目中

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.35</version></dependency>

2.使用hutool进行数据库连接的方法

Props props = new Props("conf.properties");
System.out.println(props.getStr("driverName"));Props props = new Props("conf.properties");// 从属性文件中获取属性String driver = props.getStr("driverName");String url = props.getProperty("url");String user = props.getProperty("username");String pass = props.getProperty("userpass");// 加载驱动Class.forName(driver);//创建与数据库的连接Connection connection = DriverManager.getConnection(url,user,pass);

1.4 使用数据库连接池

1.什么是连接池

连接池(Connection Pool)是一种用于管理数据库连接的技术。它的核心思想是预先创建并维护一组数据库连接,当应用程序需要与数据库交互时,从连接池中获取一个连接,使用完毕后将连接归还给连接池,而不是每次都创建新的连接或关闭连接。

2.为什么使用连接池

在传统的数据库连接方式中,每次与数据库交互时都需要创建新的连接,使用完毕后关闭连接。这种方式存在以下问题:

  • 性能开销大:创建和关闭数据库连接是非常耗时的操作,频繁地创建和关闭连接会严重影响系统性能。

  • 资源浪费:数据库连接是有限的资源,频繁创建和关闭连接会导致资源浪费,甚至可能导致数据库连接耗尽。

  • 难以管理:在高并发场景下,频繁创建和关闭连接会导致数据库连接数激增,增加数据库的负担。

连接池通过复用数据库连接,解决了上述问题:

  • 减少创建和关闭连接的开销:连接池中的连接是预先创建好的,应用程序直接从连接池中获取连接,使用完毕后归还,避免了频繁创建和关闭连接的开销。

  • 提高资源利用率:连接池中的连接可以被多个请求复用,减少了资源浪费。

  • 控制连接数:连接池可以限制最大连接数,避免数据库连接数过多导致数据库崩溃。

3.如何理解连接池

可以将连接池类比为“共享单车”:

1.连接池:就像一个共享单车停放点,里面停放着一定数量的单车(数据库连接)。

2.应用程序:就像需要使用单车的人。

3.获取连接:当应用程序需要与数据库交互时,从连接池中“借”一辆单车(获取一个连接)。

4.使用连接:应用程序使用这个连接与数据库交互。

5.归还连接:使用完毕后,应用程序将连接“归还”给连接池,而不是销毁它。

通过这种方式,连接池实现了连接的复用,避免了频繁创建和关闭连接的开销。

4.使用druid连接池的步骤

步骤一:下载依赖

 <!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency>

步骤二:编写配置文件,注意根据本地的配置进行修改

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/pet_management
username=root
password=226774
InitialSize=5
MaxActive=20
MaxWait=3000

步骤三:把配置文件导入到连接池类中

public static DataSource dataSource;static {Props props = new Props("druid.properties");try {dataSource = DruidDataSourceFactory.createDataSource(props);} catch (Exception e) {throw new RuntimeException(e);}}public static Connection getCon() throws SQLException {return dataSource.getConnection();}

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

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

相关文章

【网络安全 | 漏洞挖掘】账户接管+PII+原漏洞绕过

文章目录 前言正文前言 本文涉及的所有漏洞测试共耗时约三周,成果如下: 访问管理面板,成功接管目标列出的3000多家公司。 获取所有员工的真实指纹、机密文件及个人身份信息(PII)。 绕过KYC认证,成功接管电话号码。 绕过此前发现的漏洞。 正文 在测试目标时,我发现了一…

深度学习学习笔记(34周)

目录 摘要 Abstracts 简介 Hourglass Module&#xff08;Hourglass 模块&#xff09; 网络结构 Intermediate Supervision&#xff08;中间监督&#xff09; 训练过程细节 评测结果 摘要 本周阅读了《Stacked Hourglass Networks for Human Pose Estimation》&#xf…

JVM类文件结构深度解析:跨平台基石与字节码探秘

目录 一、类文件&#xff1a;Java生态的通用语言 1.1 字节码的桥梁作用 1.2 类文件核心优势 二、类文件二进制结构剖析 2.1 整体结构布局 2.2 魔数与版本控制 2.3 常量池&#xff1a;类文件的资源仓库 2.4 访问标志位解析 三、核心数据结构详解 3.1 方法表结构 3.2 …

wps中zotero插件消失,解决每次都需要重新开问题

参考 查看zotero目录 D:\zotero\integration\word-for-windows 加载项点击 dotm即可 长期解决 把dom 复制到 C:\Users\89735\AppData\Roaming\kingsoft\office6\templates\wps\zh_CN还是每次都需要重新开的话 重新加载一下

List 接口中的 sort 和 forEach 方法

List 接口中的 sort 和 forEach 方法是 Java 8 引入的两个非常实用的函数&#xff0c;分别用于 排序 和 遍历 列表中的元素。以下是它们的详细介绍和用法&#xff1a; sort 函数 功能 对列表中的元素进行排序。 默认使用自然顺序&#xff08;如数字从小到大&#xff0c;字符…

GitCode 助力至善云学:构建智慧教育平台

项目仓库&#xff1a; 前端&#xff1a;https://gitcode.com/Fer_Amiya/vue-ZhiShanYunXue-Client 后端&#xff1a;https://gitcode.com/Fer_Amiya/go-ZhiShanYunXue-Server 突破传统教学困境&#xff0c;探索教育新解法 传统教学的习题讲评环节&#xff0c;教师面临着难以…

nnUNet V2修改网络——加入MultiResBlock模块

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 MultiRes Block 是 MultiResUNet 中核心组件之一,旨在解决传统 U-Net 在处理多尺度医学图像时的局…

HarmonyOS 开发套件 介绍——下篇

HarmonyOS 开发套件 介绍——下篇 在HarmonyOS的生态中&#xff0c;开发套件作为支撑整个系统发展的基石&#xff0c;为开发者提供了丰富而强大的工具和服务。本文将深入继续介绍HarmonyOS SDK、ArkCompiler、DevEco Testing、AppGallery等核心组件&#xff0c;帮助开发者全面掌…

小怿学习日记(七) | Unreal引擎灯光架构

灯光的布局对于HMI场景中车模的展示效果有着举足轻重的地位。本篇内容将简单介绍ES3.1的相关知识&#xff0c;再深入了解Unreal引擎中车模的灯光以及灯光架构。 一、关于ES3.1 1.1 什么是ES3.1 ES3.1这个概念对于美术的同学可能比较陌生&#xff0c;ES3.1指的是OpenGL ES3.1&…

【洛谷排序算法】P1012拼数-详细讲解

这道题本质上是通过确定数字的拼接顺序来得到最大拼接数&#xff0c;虽然主要思路是利用字符串及其比较规则来实现&#xff0c;但也可以基于数组结合一些转换操作来解决&#xff0c;以下是大致思路和代码示例&#xff1a; 【算法思路】 首先将输入的数字存储在数组中。然后自…

2025前端框架最新组件解析与实战技巧:Vue与React的革新之路

作者&#xff1a;飞天大河豚 引言 2025年的前端开发领域&#xff0c;Vue与React依然是开发者最青睐的框架。随着Vue 3的全面普及和React 18的持续优化&#xff0c;两大框架在组件化开发、性能优化、工程化支持等方面均有显著突破。本文将从最新组件特性、使用场景和编码技巧三…

基于YOLO11深度学习的运动鞋品牌检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

Moonshot AI 新突破:MoBA 为大语言模型长文本处理提效论文速读

前言 在自然语言处理领域&#xff0c;随着大语言模型&#xff08;LLMs&#xff09;不断拓展其阅读、理解和生成文本的能力&#xff0c;如何高效处理长文本成为一项关键挑战。近日&#xff0c;Moonshot AI Research 联合清华大学、浙江大学的研究人员提出了一种创新方法 —— 混…

如何用校园内网远程连接服务器

注&#xff1a;本机家庭版windows11&#xff0c;要连接校园网&#xff0c;windows10/11一般都内置openssh&#xff0c;找到后安装&#xff0c;被连服务器是linux 一、先查看是否安装openssh&#xff0c;没有的话安装 方法一&#xff1a; -> 1.1 按下winR按键&#xff0c;…

AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)

1.本地部署 1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制&#xff0c;显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术&#xff08;Quantization&#xff09;以降低模型的计算复杂度和存储需求&#xff0c;同时结合张量并行计算&…

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(2)

Paimon的下载及安装&#xff0c;并且了解了主键表的引擎以及changelog-producer的含义参考&#xff1a; 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) 利用Paimon表做lookup join&#xff0c;集成mysql cdc等参考&#xff1a; 大数据组件(四)快速入门实时数据…

智慧校园系统在学生学习与生活中的应用

随着科技的快速发展&#xff0c;智慧校园系统逐渐成为现代教育不可或缺的一部分。它整合了先进的信息技术、物联网技术以及人工智能等&#xff0c;旨在构建一个全面、智能、个性化的学习与生活环境。对于学生而言&#xff0c;这一系统不仅能够极大地提高学习效率&#xff0c;还…

基于Flask的京东商品信息可视化分析系统的设计与实现

【Flask】基于Flask的京东商品信息可视化分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统能够灵活地执行SQL查询&#xff0c;提取出用于分析的关键数据指标。为了将这…

Electron通过ffi-napi调用dll导出接口

electron使用ffi-napi环境搭建 附打包好的ffi-napi可以直接放到项目目录下使用&#xff0c;避免以后麻烦 一、安装node.js Node.js官网&#xff1a;https://nodejs.org/zh-cn/download&#xff0c;选择LTS长期稳定版本即可 需要注意Node.js 区分32和64位&#xff0c;32位版…

25工程管理研究生复试面试问题汇总 工程管理专业知识问题很全! 工程管理复试全流程攻略 工程管理考研复试真题汇总

工程管理复试面试心里没底&#xff1f;别慌&#xff01;学姐手把手教你怎么应对复试&#xff01; 很多同学面对复试总担心踩坑&#xff0c;其实只要避开雷区掌握核心技巧&#xff0c;逆袭上岸完全有可能&#xff01;这份保姆级指南帮你快速锁定重点&#xff0c;时间紧迫优先背…