- 自动化测试框架维护成本高怎么办
自动化测试
自动化测试框架维护成本高,可以通过优化测试用例设计、引入持续集成(CI)策略、强化代码规范和审查机制、建立明确的维护计划、定期进行技术债务清理等方式来降低成本。其中,优化测试用例设计尤其关键,它不仅能提高测试的准确性和效率,还能显著减少后期维护成本。通过制定清晰、易于理解且复用性高的测试用例,可以减少测试用例冗余和重叠,大幅降低由于代码变动引发的测试修改频率,从而有效降低整体维护成本。一、自动化测
- Layotto 是一款使用 Golang 开发的应用运行时,旨在帮助开发人员快速构建云原生应用
后端java
前言大家好,我是老马。sofastack其实出来很久了,第一次应该是在2022年左右开始关注,但是一直没有深入研究。最近想学习一下SOFA对于生态的设计和思考。sofaboot系列SOFABoot-00-sofaboot概览SOFABoot-01-蚂蚁金服开源的sofaboot是什么黑科技?SOFABoot-02-模块化隔离方案SOFABoot-03-sofaboot介绍SOFABoot-04-快
- 【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
嗯嗯嗯吧
面试学习路线阿里巴巴mybatisspringxml
mybatis的常用配置配置数据库连接#驱动类名称spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#数据库连接的urlspring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_testcharacterEncoding=utf8&useSSL=false#连接数据库的名
- SpringMVC的工作流程
嗯嗯嗯吧
面试学习路线阿里巴巴状态模式
1.工作流程(1)用户通过浏览器向服务器发送请求,请求会被SpringMVC的前端控制器DispatcherServlet拦截。(2)DispatcherServlet拦截到请求后,会调用HandlerMapping(处理器映射器)。(3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。(4)Dispatcher
- java 获取当前时间的三种方法
嗯嗯嗯吧
面试学习路线阿里巴巴java开发语言后端面试
1.通过Util包中的Date获取Datedate=newDate();SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd:hh:mm:ss");System.out.println(dateFormat.format(date));2.通过Util包的Calendar获取Calendarcalendar=Calendar.getI
- 3、文件IO-常用函数解析
AdrichPro
LinuxC算法c++linux
【二】文件IO【查看目录:】1、open():用于打开或创建一个文件。2、close():用于关闭一个打开的文件。3、read():用于从文件中读取数据。4、write():用于向文件中写入数据。5、lseek():用于移动文件读写位置。6、opendir():用于打开一个目录流,用于后续的目录操作。7、readdir():用于读取目录流中的下一个条目。8、closedir():用于关闭目录流。9
- 5、linux c 线程 - 上
AdrichPro
LinuxClinuxc语言运维
【四】线程1.线程的创建#includeintpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*routine)(void*),void*arg);pthread_t*thread:指向线程标识符的指针,用于存储新创建线程的ID。constpthread_attr_t*attr:线程属性指针,通常传NULL使用默认属性
- 如何把map转成json字符串
嗯嗯嗯吧
javajava后端
展开全部Map转成32313133353236313431303231363533e58685e5aeb931333363393633json格式Mapmap=newHashMap();map.put(“users”,users);map.put(“u”,u);1.转成JSONArray类型JSONArrayjson=JSONArray.fromObject(map);System.out.pri
- STM32 CubeIDE ST-Link 更新
AdrichPro
STM32大小BUG专区stm32嵌入式硬件单片机
问题:InordertousetheattachedST-LlNKwiththisversionofSTM32CubelDEanupdateoftheST-LlNKfirmwareisrequired.Proceedwithupdate?这个弹窗信息是来自于STM32CubeIDE,提示当前连接的ST-LINK调试器需要更新固件才能与当前版本的STM32CubeIDE兼容。ST-LINK是STMi
- 使用v-charts引入任意图表的时候报错 :undefined (reading ‘map‘)
爱喝紫菜汤
vue.jsecharts
如图,在项目中引用v-charts图表后浏览器控制台报错这其实是v-charts官方bug,截至文章发布,该bug仍未修复,最快的解决方案是在App入口文件,Vue对象实例化之前,加入如下代码Vue._watchers=Vue.prototype._watchers=[]详细问题,及其他方案可参考官方GitHub项目地址的issueshttps://github.com/ElemeFE/v-cha
- Linux多线程工作笔记0004---C语言中g++ -o -c -g 功能
添柴程序猿
技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152-o:指定生成可执行文件的名称。使用方法为:g++-oafilefile.cppfile.h...(可执行文件不可与待编译或链接文件同名,否则会生成相应可执行文件且覆盖原编译或链接文件),如果不使用-o选项,则会生成默认可执行文件a.out。-c:只编译不链接,只生成目标文件。-g:添加gdb调试选
- Linux C应用编程-5-线程
【零声教育】音视频开发进阶
编程程序员音视频开发c语言linux服务器算法
各线程共享的进程资源和环境进程同一地址空间同一进程定义的函数和全局变量文件描述符表每种信号的处理方式(SIG_IGN、SIG_DFL或者自定义的信号处理函数)当前工作目录用户id和组id线程各自独立的资源线程id上下文,包括各种寄存器的值、程序计数器和栈指针栈空间errno变量信号屏蔽字调度优先级1.创建线程#include#include//线程所需要的头文件#include//getpid需要
- Kubernetes 运维工程师必备:K8s 基础面试题精编(二)
江湖有缘
运维工程师面试专栏kubernetes运维容器
Kubernetes运维工程师必备:K8s基础面试题精编(二)1.介绍下service资源对象及其使用?2.介绍下jobs与cronjobs及其使用?2.1Job2.2CronJob3.介绍下NodePord访问方式?3.1NodePort的工作原理3.2使用NodePort的步骤3.3注意事项4.介绍下k8s的Endpoint?5.介绍下k8s的ingress?6.k8s的ingree和Node
- 一步一步学SpringBoot(三)---SpringBoot与德鲁伊(Druid)的故事
可乐止饱
SpringBootDruidSpringBootDruid配置
添加依赖com.alibabadruid-spring-boot-starter1.1.0配置连接池#JDBC配置spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&character
- CH32V208GBU6沁恒协议栈BUG:在主机Write的同一包notify会造成主机一直Write不成功;最终还是用心跳包来解决
cheng@yi
沁恒CH32V208GB一直Write不成功协议栈BUG
从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原厂让我停更的可能,但是我依旧乐于此,如果哪位道友想一起交流或者原厂同志想让我停更以及其他事项都可通过如下邮箱联系我:2478278759@
- 爬虫百度新闻返回“百度安全验证”解决方案
britlee
爬虫
在爬取百度新闻时,经常会遇到“百度安全验证”的问题,这给爬虫工作带来了很大的困扰。本文将详细介绍解决方案,帮助大家更好地应对这一问题。经过检查发现是header里面有检查,将header写完全发送请求还是遇到同样问题最后发现校验了header请求顺序,下面是正确顺序headers={'Host':'baijiahao.baidu.com','Connection':'keep-alive','Ca
- flask +echarts 二手房数据可视化
britlee
信息可视化flaskecharts
项目介绍欢迎来到我的新项目,其中我使用了Flask框架和ECharts库,将二手房数据转化为令人印象深刻的可视化效果。通过这个项目,我旨在探索房地产市场的动态,并提供一个直观而有趣的方式来理解二手房交易数据。技术选择和设置Flask框架的轻量级和灵活性使其成为我构建Web应用的理想选择。它简化了开发流程,同时提供了足够的灵活性,以满足项目的特定需求。而ECharts作为一款强大的数据可视化库,能够
- 让 AI 更懂网页,Browser Use 获 1700 万美元融资
Yvette-W
IT职业圈创业创新程序员创富aiai代理
许多初创公司都在探索如何让AI代理更高效地完成各种在线任务。其中,一家名为BrowserUse的公司因其帮助AI代理更好理解网页的解决方案,吸引了开发者和投资者的广泛关注。近日,BrowserUse已完成1700万美元的种子轮融资,由Felicis(飞力士资本)的AstasiaMyers领投,PaulGraham(保罗·格雷厄姆)、ACapital(A资本)和NexusVenturePartner
- Android复习资料——常见面试算法题汇总(一)
2401_84413032
程序员android面试算法
//层次遍历(DFS)publicstaticListlevelOrder(TreeNoderoot){Listres=newArrayListres,intlevel){if(root==null){return;}if(level==res.size()){res.add(newArrayListlevelOrder(TreeNoderoot){Listresult=newArrayList(
- golang container/list使用介绍
王盼达
golang从入门到做牛马golanglist
在Go语言中,container/list包提供了一个双向链表的实现。双向链表是一种数据结构,其中每个元素(节点)都包含指向其前一个和后一个节点的指针。这种结构使得在链表的任意位置插入和删除元素都非常高效。以下是container/list包的使用介绍,包括一些常见的操作和示例代码。导入包import"container/list"常见操作创建链表varllist.List或者l:=list.Ne
- ABC 369
空雲.
算法c++数据结构
目录D.BonusEXPE.SightseeingTourD.BonusEXP常规思路是dp[i]表示到前i个怪的最大收益值,因为要看奇偶性所以再加一维,0表示当前这个怪打或不打共打了偶偶数怪,1表示打#include#defineintlonglongusingnamespacestd;constintN=2e5+5,INF=1e18;intT,n,cnt,ans,a[N],dp[N][2];s
- 图论--最短路问题总结
微臣愚钝
算法(我一生之敌)图论算法
往期文章:算法-图-dijkstra最短路径-CSDN博客Bellman_ford算法--带负权值的单源最短路问题,边列表存储-CSDN博客bellman_ford之判断负权回路-CSDN博客bellman_ford之单源有限最短路-CSDN博客Floyd算法--多源最短路-CSDN博客至此已经讲解了三大最短路算法,分别是Dijkstra、Bellman_ford和Floyd。如果遇到单源且边为正
- 算法复习——排列|组合|指数枚举
小赖同学吖
算法深度优先逻辑回归
递归实现指数型枚举从1到n这n个整数中随机选取任意多个,输出所有可能的选法,一共有多少种选择方式?#includeusingnamespacestd;constintN=20;inta[N];boolst[N];intans;intn;voiddfs(intx){if(x>n){for(inti=1;i>n;dfs(1);coutusingnamespacestd;constintN=10;boo
- 6、linux c 线程 -下
AdrichPro
LinuxClinuxc语言
1.线程的取消意义随时终止一个线程的执行。函数#includeintpthread_cancel(pthread_tthread);pthread_tthread:要取消的线程ID。返回值成功时返回0。失败时返回非零错误码。注意线程的取消需要有取消点,取消点通常是阻塞的系统调用。线程在取消点处才会响应取消请求。示例代码#include#include#include//线程执行函数void*t
- 【CUDA】了解GPU架构
GG_Bond21
GPUgpu算力
目录一、初步认识二、Fermi架构三、Kepler架构3.1动态并行3.2Hyper-Q一、初步认识SM(StreamingMultiprocessors)是GPU架构中非常重要的部分,GPU硬件的并行性就是由SM决定的。以Fermi架构为例,其包含以下主要组成部分:CUDAcoresSharedMemory/L1CacheRegisterFileLoad/StoreUnitsSpecialFun
- 子集 宏观+微观 python 思路
努力的小巴掌
算法
力扣子集宏观:递、归(回溯)+收集结果res微观:怎么一层一层往下递,怎么往上归(回溯)先写宏观:递归三部曲:1def函数,确定传参,传的参数就是原始的nums2一个path存每条路的小答案,res收集最后回溯回来的总结果3一个实现回溯的函数defsubsets(self,nums):result=[]path=[]self.backtracking()#不知道回溯的传参是啥,先空着,,等下面回溯
- 【区块链 | solidity】智能合约Gas 优化的几个技术
区块链(Web3)开发工程师
区块链零基础到实战教程
原文:https://medium.com/coinmonks/smart-contracts-gas-optimization-techniques-2bd07add0e86译文出自:登链翻译计划译者:翻译小组校对:Tiny熊本文永久链接:learnblockchain.cn/article…
- Chapter 4-12. Troubleshooting Congestion in Fibre Channel Fabrics
mounter625
Linuxkernel网络运维服务器kernellinuxinfiniband
Error-statisticsTheshowloggingonboardmoduleerror-statscommanddisplaysspecificerror-statistics,likeTxWait,thatarerecordedevery20seconds.Eachmodulecheckseachofitsinterfaces’errorcountersevery20secondsto
- 第十一章 | 智能合约主网部署与验证详解
白马区块Crypto100
区块链solidity区块链开发编程语言智能合约
第十一章|智能合约主网部署与验证详解——让你的合约真正上线、公开、透明!✅本章导读前面我们写了各种合约,ERC20、NFT、DAO……但只在本地测试或测试网上部署运行,项目还没“上链”!主网上线部署,是任何区块链项目走向用户的关键一步。写代码只是50%,剩下的50%是部署和验证。合约要上主网,必须:正确部署代码公开验证保证合约安全优化Gas,降低使用成本这一章,从测试网到主网部署、Ethersca
- C语言pta程序设计---实验七(函数)
.又是新的一天.
大学课程汇总专栏算法c++c语言
6-1sdut-C语言实验-计算组合数分数10作者马新娟单位山东理工大学计算组合数。C(n,m),表示从n个数中选择m个的组合数。计算公式如下:若:m=0,C(n,m)=1否则,若n=1,C(n,m)=1否则,若m=n,C(n,m)=1否则C(n,m)=C(n-1,m-1)+C(n-1,m).函数接口定义:在这里描述函数接口。例如:intfun(intn,intm);其中n和m都是用户传入的参数(
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,