目录
一、整体目录(示范):
文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等
二、运行截图
三、代码部分(示范):
四、数据库表(示范):
数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习
五、主要技术介绍:
六、项目调试学习(点击查看)
七、项目交流
一、整体目录(示范):
文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等
二、运行截图
三、代码部分(示范):
注册较验代码:
// 注册
async register() {
if((!this.ruleForm.yonghuzhanghao) && `yonghu` == this.tableName){
this.$utils.msg(`用户账号不能为空`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.yonghuzhanghao.length<8)){
this.$utils.msg(`用户账号长度不能小于8`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.yonghuzhanghao.length>12)){
this.$utils.msg(`用户账号长度不能大于12`);
return
}
if((!this.ruleForm.mima) && `yonghu` == this.tableName){
this.$utils.msg(`密码不能为空`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.mima!=this.ruleForm.mima2)){
this.$utils.msg(`两次密码输入不一致`);
return
}
if((!this.ruleForm.yonghuxingming) && `yonghu` == this.tableName){
this.$utils.msg(`用户姓名不能为空`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.nianling&&(!this.$validate.isIntNumer(this.ruleForm.nianling))){
this.$utils.msg(`年龄应输入整数`);
return
}
if((!this.ruleForm.schoolname) && `yonghu` == this.tableName){
this.$utils.msg(`学校名称不能为空`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.shouji&&(!this.$validate.isMobile(this.ruleForm.shouji))){
this.$utils.msg(`手机应输入手机格式`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.youxiang&&(!this.$validate.isEmail(this.ruleForm.youxiang))){
this.$utils.msg(`邮箱应输入邮件格式`);
return
}
await this.$api.register(`${this.tableName}`, this.ruleForm, this.emailcode);
this.$utils.msgBack('注册成功');;
}
}
}
推荐算法代码
//智能推荐商品业务步骤
1.获取当前用户信息
2.判断当前是否有收藏信息
3.如有收藏信息按收藏推荐信息推荐,无推荐信息默认按点击次数
//================以下是相关类和方法==============
//商品信息后端接口类
com.controller.ShangpinxinxiController
/**
* 商品信息前端智能排序
*/
@IgnoreAuth
@RequestMapping("/autoSort")
public R autoSort(@RequestParam Map params,ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request,String pre){
EntityWrapper ew = new EntityWrapper();
Map newMap = new HashMap();
Map param = new HashMap();
boolean flag = false;
String isRecommend =(String) params.get("isRecommend");
if("1".equals(isRecommend)){ //是否推荐
String userId = (String) params.get("userId");
YonghuEntity user = yonghuService.selectById(Long.valueOf(userId));
params.remove("isRecommend");
params.remove("userId");
StringBuffer refIds = new StringBuffer();
List storeupList = storeupService.selectListView(new EntityWrapper().eq("userid",userId));
if(storeupList!=null && storeupList.size()>0){
for(StoreupView storeupView: storeupList){
refIds.append(storeupView.getRefid()+",");
}
flag =true;
ew.in("id",refIds.toString());
}
}
Iterator> it = param.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = it.next();
String key = entry.getKey();
String newKey = entry.getKey();
if (pre.endsWith(".")) {
newMap.put(pre + newKey, entry.getValue());
} else if (StringUtils.isEmpty(pre)) {
newMap.put(newKey, entry.getValue());
} else {
newMap.put(pre + "." + newKey, entry.getValue());
}
}
params.put("sort", "clicknum");
params.put("order", "desc");
PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));
return R.ok().put("data", page);
}
//收藏表后端接口
com.controller.StoreupController
/**
* 收藏表后端保存方法
*/
@RequestMapping("/save")
public R save(@RequestBody StoreupEntity storeup, HttpServletRequest request){
storeup.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(storeup);
storeup.setUserid((Long)request.getSession().getAttribute("userId"));
storeupService.insert(storeup);
return R.ok();
}
/**
* 收藏表删除方法
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
storeupService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
四、数据库表(示范):
数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习
五、主要技术介绍:
项目技术开发文档
1.1 三层架构:
三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能。
View 层:用于接收用户提交请求的代码在这里编写。
Service 层:系统的业务逻辑主要在这里完成。
Dao 层:直接操作数据库的代码在这里编写。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。
即上层对下层的调用,是通过接口实现的。
而下层对上层的真正服务提供者,是下层接口的实现类。
服务标准(接口)是相同的,服务提供者(实现类)可以更换。
这就实现了层间解耦合。
1 .2 MVC :
MVC,即 Model 模型、View 视图,及 Controller 控制器。
View:视图,为用户提供使用界面,与用户直接进行交互。
Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类: 一类称为数据承载 Bean:实体类,专门用户承载业务数据的,如 Student、User 等一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理用户提交请求的。
Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
MVC 架构程序的工作流程:
(1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
(3)Model 处理后,将处理结果再交给 Controller
(4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
1. 3 MVVM模式介绍:
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
1. 4 MVVM模式优点:
MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点
1.4.1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
1.4.2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
1.4.3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
1.4.4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。
1. 5 MVVM模式图解:
1. 6 B/S体系结构介绍:
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
1. 7 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
1. 8 spring boot框架介绍:
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
1. 9 spring boot框架特点:
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
1.9.1可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
1.9.2内嵌Tomcat或Jetty等Servlet容器;
1.9.3提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
1.9.4尽可能自动配置Spring容器;
1.9.5提供准备好的特性,如指标、健康检查和外部化配置;
1.9.6绝对没有代码生成,不需要XML配置。
1.1 0 MyBatis 介绍
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
1.1 1 MyBatis 功能架构
我们把Mybatis的功能架构分为三层:
1.11.1 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
1.11.2 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
1.11.3 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
1. 12 MyBatis 框架架构
框架架构讲解:
1.12.1加载配置:配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
1.12.2 SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。
1.12.3 SQL执行:将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果。
1.12.4结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
1. 13 Maven 介绍
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
1. 14 Maven 特点
那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如下表所示。
Maven
Ant
标准构建文件
project.xml 和 maven.xml
build.xml
特性处理顺序
${maven.home}/bin/driver.properties
${project.home}/project.properties
${project.home}/build.properties
${user.home}/build.properties
通过 -D 命令行选项定义的系统特性
最后一个定义起决定作用。
通过 -D 命令行选项定义的系统特性
由 任务装入的特性
第一个定义最先被处理。
构建规则
构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。
构建规则或多或少是静态的,除非使用
你可能感兴趣的:(java,数据库,java,mysql)
(Java)Scanner 类
南淮北安
Java 学习笔记 java
文章目录一、Scanner类简介二、使用Scanner类输入数据1.实现基本的数据输入2.实现日期格式的数据输入3.从文件中得到数据一、Scanner类简介Scanner类的常用方法:Scanner类提供了一个可以接收InputStream类型的构造方法,这就表示只要是字节输入流的子类都可以通过Scanner类进行方便的读取二、使用Scanner类输入数据1.实现基本的数据输入importjava
JAVA第一课
爱吃苹果的日记本
java
跟日记本一起学JAVA!相信你可以的,加油~本章闯关任务:1.cmd打开的方式(0/2)2.照猫画虎(0/5)3.好习惯(0/3)一.首先打开cmd:方法1.win图标+R图标(win的图标可能是四个小方格在你的键盘上,我的就是四个小方格,它是边摁win边摁R)会出来一个运行程序(名字叫“运行”),上面会显示“打开:”在“:”后输入cmd,就会出来小黑框了,进入的一般是系统所在的地方(大部分人的系
基于python+mysql+vue的医院门诊管理系统
自不量力的A同学
mysql
主要使用技术环境需要1.运行环境:python3.82.IDE环境:pycharm+mysql5.73.数据库工具:Navicat154.硬件环境:windows10/118G内存以上;或者MacOS;5.数据库:MySql5.7版本;技术栈后端:python+django前端:vue+CSS+JavaScript+jQuery+antdesign代码结构server目录是后端代码web目录是前端
RxSqlUtils(base R2dbc)
xdpcxq1029
技术分享 oracle 数据库
一、前言随着Solon3.0和Solon-Rx3.0发布,用于“响应式”操作数据库。RxSqlUtils是基于R2dbc和Reactor接口构建。极简风格,就像个工具类,故名:RxSqlUtils。尤其在solon-web-rx和场景开发时,RxSqlUtils会是最好的良配。二、RxSqlUtils使用1、引入依赖org.noearsolon-data-rx-sqlutils2、新建数据库表(f
Mina 框架
武涛的技术博客
java 框架技术 服务器 netty
java服务器端开发。J2SE、TCP/UDP协议。mina与netty都是TrustinLee的作品,异步的NIO框架,将UDP当成"面向连接"的协议一、组件管理Mina的底层依赖的主要是JavaNIO库,上层提供的是基于事件的异步接口(1)IoService(最底层[起点])作用:隐藏底层IO的细节,对上提供统一的基于事件的异步IO接口IOSocketAcceptor和IOSocketChan
全网最详细的Kafka应用教程【建议收藏】
Java布道者
kafka 分布式
Kafkakafka是什么?kafka仅仅是属于消息中间件吗?kafka在设计之初的时候开发人员们在除了消息中间件以外,还想吧kafka设计为一个能够存储数据的系统,有点像常见的非关系型数据库,比如说NoSql等。除此之外还希望kafka能支持持续变化,不断增长的数据流,可以发布和订阅数据流,还可以对于这些数据进行保存也就是说kafka的本质是一个数据存储平台,流平台,只是他在做消息发布,消息消费
MySQL批量数据处理与事务管理
Mr数据杨
Python 数据分析师 mysql 数据库
MySQL是一种广泛应用的关系型数据库管理系统,尤其在数据分析和业务逻辑处理方面具有重要地位。在数据量庞大的业务场景中,批量数据处理和事务管理是提高效率和保障数据一致性的重要手段。掌握高效的批量数据操作方法与事务管理技巧,不仅能够提升操作性能,还能有效降低数据处理的出错率。本教程将深入介绍MySQL数据分析中的批量数据处理与事务管理技巧,覆盖批量数据导入与更新、事务一致性与隔离级别等关键知识,帮助
Python-Django毕业设计医院门诊管理信息系统(程序+Lw)
Python计算机毕设程序源码_
python django 课程设计
该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+Vue等等组成,B/S模式+pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版
深入理解Java字符串处理三剑客:String、StringBuffer、StringBuilder全面解析
xiyubaby.17
java
Java字符串处理三剑客:String、StringBuffer、StringBuilder全面解析一、核心特性对比1.不可变性类名可变性底层存储结构String不可变对象privatefinalcharvalue[](JDK8及之前)或byte[](JDK9+优化)StringBuffer可变对象继承自AbstractStringBuilder,使用普通字符数组char[]valueString
黑客最容易攻击的地方
冬冬小圆帽
json
黑客最容易攻击的地方通常集中在应用程序的漏洞、配置错误或用户输入处理不当等方面。1.跨站脚本攻击(XSS)XSS攻击是黑客通过注入恶意脚本到网页中,使其在用户浏览器中执行。常见的XSS攻击点包括:反射型XSS:攻击者将恶意脚本作为参数注入到URL中,服务器未对输入进行过滤,直接将恶意脚本返回给用户。存储型XSS:恶意脚本被存储在服务器上(如数据库),当其他用户访问该页面时,脚本被执行。示例代码:/
Java 大视界 -- Java 大数据在智慧交通自动驾驶仿真与测试数据处理中的应用(136)
青云交
大数据新视界 Java 大视界 java 大数据 自动驾驶 智慧交通 仿真 测试数据处理 数据存储
亲爱的朋友们,热烈欢迎来到青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而我的博客正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!一、欢迎加入【福利社群】点击快速加入:青云交灵犀技韵交响盛汇福利社群点击快速加入2:2024CSDN博客之星创作交流营(NEW)二、本博客的精华专栏:大数据新视
mysql 只读事物
baidu_38558076
mysql 学习
MySQL版本:8网上搜了一下mysql的只读事物,说只读事物,只能读取到执行时间点前的内容,事物期间其他事物修改的内容不能读取到从mysql执行结果来看上面说的确实是这样。但这个不能读取其他事物修改的内容,真的是由只读来控制的吗?其实不然,事物读取其他事物变更的数据,还是由事物隔离级别来控制的,由于mysql默认的隔离级别是可重复读(其解决了不可重复读和幻读),所以就出现了”只读事物,只能读取到
python+django+vue医院门诊挂号预约管理系统57wsx
QQ_402205496
django pycharm python
开发语言:Python框架:django/flaskPython版本:python3.7.7数据库:mysql数据库工具:Navicat开发软件:PyCharm主要功能有:管理员功能:系统首页、个人中心、用户管理、医生管理、疫情公告管理、行动轨迹管理、异样报告管理、科室信息管理、异常报告管理、系统管理、医院信息管理、预约信息管理、在线聊天管理、聊天回复管理、我的收藏管理。用户功能模块:系统首页、个
Java 枚举类的使用指南
HoroMin
java 开发语言
在Java中,枚举(enum)是一种特殊的数据类型,用于定义一组常量。它的使用可以提高代码的可读性和类型安全性。本文将介绍如何定义和使用枚举类,并回答有关枚举值格式的问题。1.什么是枚举?枚举是一种数据类型,允许你定义变量为特定值的集合。与普通常量相比,枚举提供了更多特性,包括字段、方法和构造器。2.如何定义枚举值使用enum关键字可以定义一个枚举类。以下是一个示例,展示了如何定义表示HTTP状态
SpringBoot实战系列之发送短信验证码
m0_67401660
面试 学习路线 阿里巴巴 android 前端 后端
大家好,我是??大二在读作业侠系列最新文章??Java实现聊天程序SpringBoot实战系列??SpringBoot实战系列之发送短信验证码一起刷算法与数据结构最新文章??一起刷算法与数据结构-树篇1环境搭建大集合环境搭建大集合(持续更新)内容速览:1.短信验证码平台选择考虑点2.短信平台3.实战发送短信验证码1.短信验证码平台选择考虑点各个类型短信价格短信到达率、到达时间短信内容变量灵活,便持
Java对接DeepSeek全攻略:从0到1小白无忧
古龙飞扬
java 开发语言 ai
本文将带你从零开始,详细讲解如何在Java中对接DeepSeekAPI,适合小白用户。我们将从环境搭建、API调用、数据处理等方面逐步展开,并提供完整的代码示例。目录准备工作获取DeepSeekAPI密钥创建Java项目添加依赖使用Maven引入HTTP和JSON库编写代码创建请求和响应类发送HTTP请求处理API响应完整代码示例运行与测试常见问题与解决方案1.准备工作1.1获取DeepSeekA
jsp中嵌套java代码,js中嵌套java代码
loveking6
嵌套 jsp js java代码
首先根据三目运算中,来判断如果等于add,就是新增,否则就是编辑。在js中想要判断是true还是false,所以需要把java代码拿过来,在js中写java代码,得加上,在里面写java代码根据jsp中的java代码,取到user,在js中调用user
COMP 315: Cloud Computing
后端
Assignment1:JavascriptCOMP315:CloudComputingforE-CommerceFebruary20251IntroductionAcommontaskwhenbackendprogrammingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorinco
HarmonyOS NEXT 开发环境搭建与金融理财类APP开发指南
harmonyos
引言随着华为鸿蒙操作系统HarmonyOSNEXT的推出,越来越多的开发者开始关注并投入到这一新生态系统的开发中。本文将详细介绍如何在HarmonyOSNEXT上搭建开发环境,并通过一个金融理财类财务记账APP的示例,展示如何进行应用程序的技术开发。开发环境搭建首先,开发者需要准备一台运行Windows或macOS的计算机,并确保安装了最新版本的JavaDevelopmentKit(JDK)。接下
COMP 315: Cloud Computing
后端
Assignment1:JavascriptCOMP315:CloudComputingforE-CommerceFebruary20251IntroductionAcommontaskwhenbackendprogrammingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorinco
Java - 自定义Key-Value读写工具
花追雨
Java java 开发语言
Java-自定义Key-Value读写工具本地k-v缓存工具类1.注释行以#开头;2.=左右不要留空格;3.案例仅String类型,其他类型转换即可;使用://读取StringsyncTime=PropertiesUtil.getInstance().getSyncTime();CommonUtil.printLog("syncTime:"+syncTime);//写入PropertiesUtil
sql server用触发器取另外一台电脑的mysql数据_SQL Server 如何创建触发器实现一张表数据更新时,同步增加、删除、修改另一张表的数据。...
清清清飏
sql
一、触发器知识点摘要:实际应用中,我们经常会遇到在对SQLServer的某一张表进行增加、删除、修改操作时,需同步更新同一数据库或不同数据库的另一张表,此时我们可以使用SQLServer的表触发器来实现。使用触发器时,我们会用到触发器的两个临时虚拟表:Deleted表、Inserted表,它们用于存储【创建触发器表】的记录变动信息,即发生触发事件时对应的【一条旧记录】和【一条新记录】,各触发事件对
数据分析:数据的存储结构、数据类型、数据集成技术、存储模型、查询语言、API、驱动器等
AI天才研究院
Python实战 自然语言处理 人工智能 语言模型 编程实践 开发语言 架构设计
作者:禅与计算机程序设计艺术1.简介数据分析是一个复杂的工程,需要用到多个数据库、数据表、数据文件等数据集成资源。不同的数据集成环境(如分布式系统、异构数据库)会影响数据分析的效率和效果。在进行数据分析时,首先要确定数据集成方案、选择合适的数据模型和索引策略,以及评估各种解决方案之间的优劣。因此,掌握数据的存储结构、数据类型、数据集成技术、存储模型、查询语言、API、驱动器等关键信息对数据分析工作
SpringBoot自动配置原理及手动实现自动配置
m0_56222134
程序员 面试 java 经验分享
之前我们学习了SpringBoot中的配置文件及外部化配置,了解了SpringBoot对于配置文件的功能支持与增强,本篇我们将要来学习SpringBoot的自动配置原理及手动实现自动配置。数据库依赖引起的bug我们很多人在第一次使用SpringBoot的时候,往往对其原理认知不足,或者简单的了解以后就开始入门使用,往往最常见的就是使用SpringBoot添加一个持久化框架的依赖,用来尝试操作数据库
记一次java线程阻塞状态分析
chuixue24
java基础 java多线程 多线程 java
"http-nio-9002-exec-23"#96daemonprio=5os_prio=0tid=0x00005629c8ee7800nid=0x6bwaitingformonitorentry[0x00007efc02a47000]java.lang.Thread.State:BLOCKED(onobjectmonitor)atxxx.xxxWriteServiceImpl.handleWr
Java直通车系列43【Spring Boot】(断路器Hystrix)
浪九天
Java直通车 java 开发语言 spring cloud 后端 spring
目录断路器(Hystrix)1.基本概念2.工作原理3.主要功能场景示例1.项目准备2.添加依赖3.启用Hystrix4.定义服务调用方法并添加Hystrix注解5.在控制器中调用服务方法6.测试断路器(Hystrix)1.基本概念在微服务架构中,服务之间通常存在大量的依赖关系。当某个下游服务出现故障或响应超时,可能会导致调用它的上游服务出现请求堆积、资源耗尽,最终引发整个系统的雪崩效应。断路器(
nodejs 010:Webpack 可视化分析插件 webpack-bundle-analyzer的使用
FakeOccupational
服务化&架构 webpack 前端 node.js
安装yarnadd--devwebpack-bundle-analyzer原始webpack.config.jswebpack.config.js代码定义了Webpack的配置,主要任务是将JavaScript和CSS文件打包,并将CSS提取到单独的文件中,配置了对Electron应用的支持,同时还将React相关的模块映射到Preact,以减小打包体积。//引入Node.js的path模块,用于
(一)响应式编程理论
糖心何包蛋爱编程
响应式编程 java 响应式框架 经验分享
小编大学毕业后面试的第一家公司问我会响应式吗,我当时觉得好陌生呀,完全没有听说过的名词,还在那里胡编乱造说一堆,但是也不是完全没有沾边,提到了Java8的新特性,现在想想也是印象很深,但好在成功拿到offer,入职后我就很努力的恶补很多相关知识,现在纯纯就是干货拿来分享,让你少走弯路。在了解响应式编程之后,发现响应式编程在行业内还没有普及,因为这对程序员有比较高的要求,不比传统编程好调试,但是当我
(二)Reactor核心-前置知识1
糖心何包蛋爱编程
响应式编程 java 响应式编程 Lambda表达式 干货分享
本章是Reactor核心-前置知识(第一期),主要讲解Lambda表达式。回忆上一章我们学习了什么是响应式编程、基础概念、必读知识。一篇文章我不想写得太长了,文章不像是视频或者图片比较生动,文章太长了容易犯困。所以我直接上干货,能插图的地方我尽量插图,希望您能坚持看完。觉得有用的话点赞加藏关注,这就是我文思泉涌的动力。一、lambda表达式Lambda表达式是Java8引入的一个重要特性,它是一种
大数据手册(Spark)--Spark安装配置
WilenWu
数据分析(Data Analysis) 大数据 spark 分布式
本文默认在zsh终端安装配置,若使用bash终端,环境变量的配置文件相应变化。若安装包下载缓慢,可复制链接到迅雷下载,亲测极速~准备工作Spark的安装过程较为简单,在已安装好Hadoop的前提下,经过简单配置即可使用。假设已经安装好了hadoop(伪分布式)和hive,环境变量如下JAVA_HOME=/usr/opt/jdkHADOOP_HOME=/usr/local/hadoopHIVE_HO
apache ftpserver-CentOS config
gengzg
apache
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.o
优化MySQL数据库性能的八种方法
AILIKES
sql mysql
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很
JeeSite 企业信息化快速开发平台
Kai_Ge
JeeSite
JeeSite 企业信息化快速开发平台
平台简介
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流
通过Spring Mail Api发送邮件
120153216
邮件 main
原文地址:http://www.open-open.com/lib/view/open1346857871615.html
使用Java Mail API来发送邮件也很容易实现,但是最近公司一个同事封装的邮件API实在让我无法接受,于是便打算改用Spring Mail API来发送邮件,顺便记录下这篇文章。 【Spring Mail API】
Spring Mail API都在org.spri
Pysvn 程序员使用指南
2002wmj
SVN
源文件:http://ju.outofmemory.cn/entry/35762
这是一篇关于pysvn模块的指南.
完整和详细的API请参考 http://pysvn.tigris.org/docs/pysvn_prog_ref.html.
pysvn是操作Subversion版本控制的Python接口模块. 这个API接口可以管理一个工作副本, 查询档案库, 和同步两个.
该
在SQLSERVER中查找被阻塞和正在被阻塞的SQL
357029540
SQL Server
SELECT R.session_id AS BlockedSessionID ,
S.session_id AS BlockingSessionID ,
Q1.text AS Block
Intent 常用的用法备忘
7454103
.net android Google Blog F#
Intent
应该算是Android中特有的东西。你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料 。都指定好后,只要调用startActivity(),Android系统 会自动寻找最符合你指定要求的应用 程序,并执行该程序。
下面列出几种Intent 的用法
显示网页:
Spring定时器时间配置
adminjun
spring 时间配置 定时器
红圈中的值由6个数字组成,中间用空格分隔。第一个数字表示定时任务执行时间的秒,第二个数字表示分钟,第三个数字表示小时,后面三个数字表示日,月,年,< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
测试的时候,由于是每天定时执行,所以后面三个数
POJ 2421 Constructing Roads 最小生成树
aijuans
最小生成树
来源:http://poj.org/problem?id=2421
题意:还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。
思路:对于已经有边的点,特殊标记一下,加边的时候把这些边的权值赋值为0即可。这样就可以既保证这些边一定存在,又保证了所求的结果正确。
代码:
#include <iostream>
#include <cstdio>
重构笔记——提取方法(Extract Method)
ayaoxinchao
java 重构 提炼函数 局部变量 提取方法
提取方法(Extract Method)是最常用的重构手法之一。当看到一个方法过长或者方法很难让人理解其意图的时候,这时候就可以用提取方法这种重构手法。
下面是我学习这个重构手法的笔记:
提取方法看起来好像仅仅是将被提取方法中的一段代码,放到目标方法中。其实,当方法足够复杂的时候,提取方法也会变得复杂。当然,如果提取方法这种重构手法无法进行时,就可能需要选择其他
为UILabel添加点击事件
bewithme
UILabel
默认情况下UILabel是不支持点击事件的,网上查了查居然没有一个是完整的答案,现在我提供一个完整的代码。
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, listV.frame.size.width - 60, listV.frame.size.height)]
NoSQL数据库之Redis数据库管理(PHP-REDIS实例)
bijian1013
redis 数据库 NoSQL
一.redis.php
<?php
//实例化
$redis = new Redis();
//连接服务器
$redis->connect("localhost");
//授权
$redis->auth("lamplijie");
//相关操
SecureCRT使用备注
bingyingao
secureCRT 每页 行数
SecureCRT日志和卷屏行数设置
一、使用securecrt时,设置自动日志记录功能。
1、在C:\Program Files\SecureCRT\下新建一个文件夹(也就是你的CRT可执行文件的路径),命名为Logs;
2、点击Options -> Global Options -> Default Session -> Edite Default Sett
【Scala九】Scala核心三:泛型
bit1129
scala
泛型类
package spark.examples.scala.generics
class GenericClass[K, V](val k: K, val v: V) {
def print() {
println(k + "," + v)
}
}
object GenericClass {
def main(args: Arr
素数与音乐
bookjovi
素数 数学 haskell
由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。
闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的&l
Java-Collections Framework学习与总结-IdentityHashMap
BrokenDreams
Collections
这篇总结一下java.util.IdentityHashMap。从类名上可以猜到,这个类本质应该还是一个散列表,只是前面有Identity修饰,是一种特殊的HashMap。
简单的说,IdentityHashMap和HashM
读《研磨设计模式》-代码笔记-享元模式-Flyweight
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java
PS人像润饰&调色教程集锦
cherishLC
PS
1、仿制图章沿轮廓润饰——柔化图像,凸显轮廓
http://www.howzhi.com/course/retouching/
新建一个透明图层,使用仿制图章不断Alt+鼠标左键选点,设置透明度为21%,大小为修饰区域的1/3左右(比如胳膊宽度的1/3),再沿纹理方向(比如胳膊方向)进行修饰。
所有修饰完成后,对该润饰图层添加噪声,噪声大小应该和
更新多个字段的UPDATE语句
crabdave
update
更新多个字段的UPDATE语句
update tableA a
set (a.v1, a.v2, a.v3, a.v4) = --使用括号确定更新的字段范围
hive实例讲解实现in和not in子句
daizj
hive not in in
本文转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html
当前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。
假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含
一道24点的10+种非人类解法(2,3,10,10)
dsjt
算法
这是人类算24点的方法?!!!
事件缘由:今天晚上突然看到一条24点状态,当时惊为天人,这NM叫人啊?以下是那条状态
朱明西 : 24点,算2 3 10 10,我LX炮狗等面对四张牌痛不欲生,结果跑跑同学扫了一眼说,算出来了,2的10次方减10的3次方。。我草这是人类的算24点啊。。
然后么。。。我就在深夜很得瑟的问室友求室友算
刚出完题,文哥的暴走之旅开始了
5秒后
关于YII的菜单插件 CMenu和面包末breadcrumbs路径管理插件的一些使用问题
dcj3sjt126com
yii framework
在使用 YIi的路径管理工具时,发现了一个问题。 <?php  
对象与关系之间的矛盾:“阻抗失配”效应[转]
come_for_dream
对象
概述
“阻抗失配”这一词组通常用来描述面向对象应用向传统的关系数据库(RDBMS)存放数据时所遇到的数据表述不一致问题。C++程序员已经被这个问题困扰了好多年,而现在的Java程序员和其它面向对象开发人员也对这个问题深感头痛。
“阻抗失配”产生的原因是因为对象模型与关系模型之间缺乏固有的亲合力。“阻抗失配”所带来的问题包括:类的层次关系必须绑定为关系模式(将对象
学习编程那点事
gcq511120594
编程 互联网
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
Reverse Linked List II
hcx2013
list
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 
Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
Hadoop集群工具distcp
liyonghui160com
1. 环境描述
两个集群:rock 和 stone
rock无kerberos权限认证,stone有要求认证。
1. 从rock复制到stone,采用hdfs
Hadoop distcp -i hdfs://rock-nn:8020/user/cxz/input hdfs://stone-nn:8020/user/cxz/运行在rock端,即源端问题:报版本
一个备份MySQL数据库的简单Shell脚本
pda158
mysql 脚本
主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份
数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。
1. 分别建立目录“backup”和“oldbackup” #mkdir /backup #mkdir /oldbackup
300个涵盖IT各方面的免费资源(中)——设计与编码篇
shoothao
IT资源 图标库 图片库 色彩板 字体
A. 免费的设计资源
Freebbble:来自于Dribbble的免费的高质量作品。
Dribbble:Dribbble上“免费”的搜索结果——这是巨大的宝藏。
Graphic Burger:每个像素点都做得很细的绝佳的设计资源。
Pixel Buddha:免费和优质资源的专业社区。
Premium Pixels:为那些有创意的人提供免费的素材。
thrift总结 - 跨语言服务开发
uule
thrift
官网
官网JAVA例子
thrift入门介绍
IBM-Apache Thrift - 可伸缩的跨语言服务开发框架
Thrift入门及Java实例演示
thrift的使用介绍
RPC
POM:
<dependency>
<groupId>org.apache.thrift</groupId>