package utils;
import java.io.File;
import java.io.FileInputStream;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtil {
/**
*
* @param type
* 1代表SqlServer 2代表Oracle 3代表Mysql 4代表Access 5代表Sqlite 6代表Sybase
* 7代表Dbase 8代表Foxpro 10代表Hive
* @param ip
* 数据库连接ip地址
* @param DataBaseName
* 数据库名称
* @param Port
* 端口
* @return 返回Url、Driver列表
*/
public static List<String> getDBDriver(String type, String ip, String DataBaseName, String Port) {
List<String> list = new ArrayList<String>();
if (type.equals("1")) // SqlServer
{
String Url = "jdbc:sqlserver://" + ip + ":" + Port + ";" + "DatabaseName=" + DataBaseName;// 拼接URL
String Driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
list.add(Url);// 添加到list列表
list.add(Driver);
return list;
}
if (type.equals("2")) // Orcal
{
String Url = "jdbc:oracle:thin:@" + ip + ":" + Port + ":"+DataBaseName;
String Driver = "oracle.jdbc.OracleDriver";
list.add(Url);// 添加到list列表
list.add(Driver);
return list;
}
if (type.equals("3")) // MySql
{
String Url = "jdbc:mysql://" + ip + ":" + Port + "/" + DataBaseName;// 拼接URL
String Driver = "com.mysql.jdbc.Driver";
list.add(Url);// 添加到list列表
list.add(Driver);
return list;
}
if (type.equals("4")) // Access
{
return null;
}
if (type.equals("5")) // Sqllite
{
return null;
}
if (type.equals("6")) // Sybase
{
return null;
}
if (type.equals("7")) // Dbase
{
return null;
}
if (type.equals("8")) // Foxpro
{
return null;
}
if (type.equals("9")) // Foxpro
{
String Url = "jdbc:oscar://" + ip + ":" + Port + "/" + DataBaseName;// 拼接URL
String Driver = "com.oscar.Driver";
list.add(Url);// 添加到list列表
list.add(Driver);
return list;
}
if (type.equals("10")) // Hive
{
return null;
}
return null;
}
/**
* 解析时间格式 ZhangSiWei
*
* @param Excute_Type
* 0为每日执行 1为周日执行
* @param interval_type
* 间隔类型 -1为日 0为周 1为月
* @param inteval_value
* 具体每个月的哪天执行
* @param task_time
* 具体执行时间
* @return 返回解析过后的时间格式
* @throws Exception
*/
public static String AnalyticalTime(String Excute_Type, String interval_type, String inteval_value,
String task_time) throws Exception {
Date time = null;
Calendar now = Calendar.getInstance();
try {
now.clear();
time = StringUtil.str2datetime(task_time);
now.setTime(time);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// int YEAR = now.get(Calendar.YEAR);
// int MONTH = now.get(Calendar.MONTH) + 1;
// int Day = now.get(Calendar.DAY_OF_MONTH);
int HOUR = now.get(Calendar.HOUR_OF_DAY);
int MINUTE = now.get(Calendar.MINUTE);
int SECOND = now.get(Calendar.SECOND);
if (Excute_Type.equals("0")) // 每日执行 执行解析task_time
{
// 0 15 10 ? * * 每天10点15分触发 每天执行时间书写格式
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "*";
}
if (Excute_Type.equals("1")) // 周期执行 如果是周期执行则判断间隔类型
{
if (interval_type.equals("-1")) // 如果是-1则为每日执行
{
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "*";
}
if (interval_type.equals("0")) // 如果是0则为每周执行
{
if (inteval_value.equals("1")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "MON";
}
if (inteval_value.equals("2")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "TUE";
}
if (inteval_value.equals("3")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "WED";
}
if (inteval_value.equals("4")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "THU";
}
if (inteval_value.equals("5")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "FRI";
}
if (inteval_value.equals("6")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "SAT";
}
if (inteval_value.equals("7")) {
return SECOND + " " + MINUTE + " " + HOUR + " " + "? " + "* " + "SUN";
}
}
if (interval_type.equals("1")) // 如果是1则每月执行
{
// 0 15 10 15 * ? 每月15号上午10点15分触发
return SECOND + " " + MINUTE + " " + HOUR + " " + inteval_value + " " + "* " + "?";
}
}
return "";
}
/**
* 将String字符串转换为java.sql.Timestamp格式日期,用于数据库保存
*
* @param strDate
* 表示日期的字符串
* @param dateFormat
* 传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
* @return java.sql.Timestamp类型日期对象(如果转换失败则返回null)
*/
public static Timestamp strToSqlDate(String strDate) throws Exception {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = sf.parse(strDate);
Timestamp dateSQL = new Timestamp(date.getTime());
return dateSQL;
}
/**
*
* @return
*/
public static String dateonly2str(Date date) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(date);
}
/**
* jsy 2012-05-08 add
*
* @param date
* @return
* @throws Exception
*/
public static String dateonly2strSplit(Date date) throws Exception {//
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(date);
}
public static String date2str(Date date) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.format(date);
}
public static Date dateTimeStamp(Date date) throws Exception {
if (date == null)
return new Timestamp(new Date().getTime());
return new Timestamp(date.getTime());
}
public static String datetime2str(Date date) throws Exception {
if (date == null)
return "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
/**
*
* @param str
* @return
* @throws Exception
*/
public static Date str2date(String str) throws Exception {
if (str == null || str.isEmpty())
return null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.parse(str);
}
public static Date str2dateDd(String str) throws Exception {
if (str == null || str.isEmpty())
return null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(str);
}
public static Date str2datetime(String str) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(str);
}
public static Date str2date(String str, String style) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat(style);
return sdf.parse(str);
}
public static String long2str(long l) throws Exception {
Long ll = l;
return ll.toString();
}
public static String int2str(int i) throws Exception {
Integer ii = i;
return ii.toString();
}
public static Date long2date(long str) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(sdf.format(str));
}
public static long date2long(Date str) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(sdf.format(str)).getTime();
}
/**
*
* 字符串转换成十六进制字符串
*
*/
public static String str2HexStr(String str) {
char[] chars = "0123456789ABCDEF".toCharArray();
毕业设计SpringBoot2.3Vue2Es8.zip
需积分: 0 46 浏览量
更新于2023-09-26
收藏 19.33MB ZIP 举报
标题“毕业设计SpringBoot2.3Vue2Es8.zip”暗示了一个基于现代Web技术的毕业设计项目,其中涉及了SpringBoot 2.3、Vue.js 2和Elasticsearch 8这三个关键组件。这个项目可能是一个新闻搜索系统,利用SpringBoot作为后端框架,Vue.js作为前端框架,而Elasticsearch作为数据存储和检索引擎。以下是关于这些技术的详细说明:
**SpringBoot 2.3:**
SpringBoot是Spring框架的一个衍生品,它简化了Java Web应用的开发过程。版本2.3带来了许多改进和新特性,包括自动配置更新、对Quarkus的支持、Kubernetes和OpenShift的集成、以及对Java 14的支持。SpringBoot允许开发者快速创建可独立运行的、生产级别的Java应用程序,通常配合嵌入式HTTP服务器如Tomcat或Jetty使用。其核心特性包括自动配置、起步依赖、健康检查和Actuator等。
**Vue.js 2:**
Vue.js是一个轻量级的前端JavaScript框架,适用于构建用户界面。在2.0版本中,Vue.js引入了虚拟DOM、组件化、单向数据流和异步更新队列等特性,提高了性能和开发效率。Vue.js 2还支持服务器端渲染(SSR)和渐进式增强,使得它在大型项目中也表现得游刃有余。Vue Router用于路由管理,Vuex则是状态管理库,它们都是构建复杂Vue应用的重要组成部分。
**Elasticsearch 8:**
Elasticsearch是一个基于Lucene的开源全文搜索引擎,以其分布式、实时、高可扩展性著称。版本8可能包含性能提升、新功能以及对旧版不兼容的改变。Elasticsearch不仅用于全文搜索,还可以用于数据分析和日志收集。它采用JSON文档格式,支持RESTful API,使得与各种编程语言的交互变得简单。X-Pack是Elasticsearch的安全插件,提供身份验证、授权、审计和加密等功能,增强了系统的安全性。
在“news-search-ES8-main”这个文件名中,我们可以推测项目可能是一个新闻搜索系统,利用Elasticsearch 8进行全文检索,为用户提供高效的新闻查询体验。SpringBoot后端负责处理API请求,与Elasticsearch通信,Vue.js前端则负责展示搜索结果和交互界面。这个项目可能涵盖了数据的索引、查询优化、分页、过滤、排序等常见功能,同时也涉及到前后端通信、安全性和用户体验设计等多个方面。对于学习者来说,这是一个很好的实践项目,可以深入理解现代Web开发的技术栈和最佳实践。
天天501
- 粉丝: 621
- 资源: 5905
最新资源
- MFC如何修改多文档视图的标签
- 无人机路径规划中基于DDPG算法的MATLAB实现与信噪比优化
- 配电网电压与无功协调优化 以最小化运行成本(包含开关动作成本、功率损耗成本以及设备运行成本)和电压偏差为目标函数,考虑分布式电源的接入,采用线性化和二次松弛方法,将非凸模型转化为二阶锥规划模型,通过优
- MATLAB轴承动力学代码(正常、外圈故障、内圈故障、滚动体故障),根据滚动轴承故障机理建模(含数学方程建立和公式推导)并在MATLAB中采用ODE45进行数值计算 可模拟不同轴承故障类型,输出时域
- comsol模拟冻土水土热力盐四个物理场耦合
- Qt源码~~EQ曲线升级版 代码写的不错,注释也很详细了
- Halcon深度图渲染
- 01前端 / Node.js
- HTML5实现好看的运动鞋在线商城模板.zip
- HTML5实现好看的运动鞋电子商务网站模板.zip