packagecom.org.dao.impl;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.PreparedStatementCreator;importorg.springframework.jdbc.core.RowCallbackHandler;importorg.springframework.jdbc.support.GeneratedKeyHolder;importorg.springframework.stereotype.Repository;importcom.org.JdbcTempBaseDao;importcom.org.dao.IUserDao;importcom.org.model.User;@Repository@SuppressWarnings("all")publicclassUserDaoImplextendsJdbcTempBaseDaoimplementsIUserDao{ @Override publicListgetUserList(){ Stringsql="select*fromuser"; finalListlist=newArrayList(); jdbcTemplate.query(sql,newRowCallbackHandler(){ @Override publicvoidprocessRow(ResultSetrs)throwsSQLException{ Useru=newUser(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setCreateDate(rs.getString("createDate")); u.setModifyDate(rs.getString("modifyDate")); u.setType(rs.getString("type")); list.add(u); } }); returnlist; } @Override publicListgetUserLists(Mapmap){ returnnull; } @Override publicIntegergetUserCount(Mapmap){ Stringsql="selectcount(1)fromUserwhereid=?"; returngetJdbcTemplate().queryForObject(sql,Integer.class,map); } @Override publicUsergetUserById(IntegerprimaryKeyId){ Stringsql="selectid,username,password,createDate,modifyDate,typefromUserwhereid=?";ListuserList=getJdbcTemplate().query(sql,newBeanPropertyRowMapper(User.class),primaryKeyId);if(userList.size()==0){returnnull;}returnuserList.get(0); } @Override publicvoiddelUserById(Int
2024/5/31 21:57:28 18.89MB jdbcTemplate
1
看大小就知道很全啦查看地址https://blog.csdn.net/qq_43333395/article/details/98508424目录:数据结构:1.RMQ(区间最值,区间出现最大次数,求区间gcd)2.二维RMQ求区间最大值(二维区间极值)3.线段树模板(模板为区间加法)(线段树染色)(区间最小值)4.线性基(求异或第k大)5.主席树(静态求区间第k小)(区间中小于k的数量和小于k的总和)(区间中第一个大于或等于k的值)6.权值线段树(求逆序对)7.动态主席树(主席树+树状数组)(区间第k大带修改)8.树上启发式合并(查询子树的优化)9,树状数组模板(求区间异或和,求逆序对)扩展10.区间不重复数字的和(树状数组)11.求k维空间中离所给点最近的m个点,并按顺序输出(KD树)12.LCA(两个节点的公共父节点)动态规划:1.LIS(最长上升子序列)2.有依赖的背包(附属关系)3.最长公共子序列(LCS)4.树形DP5.状压DP-斯坦纳树6.背包7.dp[i]=min(dp[i+1]…dp[i+k]),multset博弈:1.NIM博弈(n堆每次最少取一个)2.威佐夫博弈(两堆每次取至少一个或一起取一样的)3.约瑟夫环4.斐波那契博弈(取的数依赖于对手刚才取的数)5.sg函数数论:1.数论素数检验:普通素数判别线性筛二次筛法求素数米勒拉宾素数检验2.拉格朗日乘子法(求有等式约束条件的极值)3.裂项(多项式分子分母拆分)4.扩展欧几里得(ax+by=c)5.勾股数(直角三角形三边长)6.斯特林公式(n越大越准确,求n!)7.牛顿迭代法(求一元多次方程一个解)8.同余定理(a≡b(modm))9.线性求所有逆元的方法求(1~pmodp的逆元)10.中国剩余定理(n个同余方程x≡a1(modp1))11.二次剩余((ax+k)2≡n(modp)(ax+k)^2≡n(modp)(ax+k)2≡n(modp))12.十进制矩阵快速幂(n很大很大的时候)13.欧拉函数14.费马小定理15.二阶常系数递推关系求解方法(a_n=p*a_{n-1}+q*a_{n-2})16.高斯消元17.矩阵快速幂18.分解质因数19.线性递推式BM(杜教)20.线性一次方程组解的情况21.求解行列式的逆矩阵,伴随矩阵,矩阵不全随机数不全组合数学:1.循环排列(与环有关的排列组合)计算几何:1.三角形(求面积))2.多边形3.三点求圆心和半径4.扫描线(矩形覆盖求面积)(矩形覆盖求周长)5.凸包(平面上最远点对)6.求凸多边形的直径7.求凸多边形的宽度8.求凸多边形的最小面积外接矩形9.半平面交图论:基础:前向星1.最短路(优先队列dijkstra)2.判断环(tarjan算法)3.最小生成树(Kruskal模板)4.最小生成树(Prim)5.Dicnic最大流(最小割)6.无向图最小环(floyd)7.floyd算法的动态规划(通过部分指定边的最短路)8.图中找出两点间的最长距离9.最短路(spfa)10.第k短路(spfa+A*)11.回文树模板12.拓扑排序(模板)13.次小生成树14.最小树形图(有向最小生成树)15.并查集(普通并查集,带权并查集,)16.求两个节点的最近公共祖先(LCA)17.限制顶点度数的MST(k度限制生成树)18.多源最短路(spfa,floyd)19.最短路(输出字典序最小)20.最长路图论题目简述字符串:1.字典树(多个字符串的前缀)2.KMP(关键字搜索)3.EXKMP(找到S中所有P的匹配)4.马拉车(最长回文串)5.寻找两个字符串的最长前后缀(KMP)6.hash(进制hash,无错hash,多重hash,双hash)7.后缀数组(按字典序排字符串后缀)8.前缀循环节(KMP的fail函数)9.AC自动机(n个kmp)10.后缀自动机小技巧:1.关于int,double强转为string2.输入输出挂3.低精度加减乘除4.一些组合数学公式5.二维坐标的离散化6.消除向下取整的方法7.一些常用的数据结构(STL)8.Devc++的使用技巧9.封装好的一维离散化10.Ubuntu对拍程序11.常数12.Codeblocks使用技巧13.java大数叮嘱共173页
2024/5/29 4:58:24 8.42MB ACM ICPC CCPC
1
用来压缩和解压的,以下是部分函数:intcompress(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen);intcompress2(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen,intlevel);intuncompress(Bytef*dest,uLongf*destLen,constBytef*source,uLongsourceLen);typedefvoidpgzFile;gzFilegzopen(constchar*path,constchar*mode);gzFilegzdopen(intfd,constchar*mode);intgzsetparams(gzFilefile,intlevel,intstrategy);intgzread(gzFilefile,voidpbuf,unsignedlen);intgzwrite(gzFilefile,constvoidpbuf,unsignedlen);intVAgzprintf(gzFilefile,constchar*format,...);intgzputs(gzFilefile,constchar*s);char*gzgets(gzFilefile,char*buf,intlen);intgzputc(gzFilefile,intc);intgzgetc(gzFilefile);intgzflush(gzFilefile,intflush);z_off_tgzseek(gzFilefile,z_off_toffset,intwhence);z_off_tgztell(gzFilefile);intgzrewind(gzFilefile);intgzeof(gzFilefile);intgzclose(gzFilefile);constchar*gzerror(gzFilefile,int*errnum);
2024/5/19 1:06:11 79KB zlib123-dll.zip
1
本程序用Qtcreator4.5.1,Qt5.10.1制作,环境在win10和msvc2017下完美运行,点开就能用。
程序包含加解密两个部分,由于密文和明文存在int数组中,所以暂时只能加密数字,需要的人可以自行修改。
程序有一个小bug,输出加解密的结果的时候,会判断数组为空结束输出,但是这里数组初始化为0,故若结果是1101的时候,可能只会输出111,但其他时候一切正常。
而且这个可以自行修改。
未提供加密字母,中文,文件等功能。
基本情况如上,根据需要下载。
2024/4/27 22:07:12 8KB RSA Qt RSA C++
1
java编程含有界面以及完整代码〈程序〉→main()〈语句块〉〈语句块〉→{〈语句串〉}〈语句串〉→〈语句〉;
〈语句串〉|〈语句〉;
〈语句〉→〈赋值语句〉|〈条件语句〉|〈循环语句〉〈赋值语句〉→ID=〈表达式〉;〈条件语句〉→if〈条件〉〈语句块〉〈循环语句〉→while〈条件〉〈语句块〉〈条件〉→(〈表达式〉〈关系符〉〈表达式〉)〈表达式〉→〈表达式〉〈运算符〉〈表达式〉|(〈表达式〉)|ID|NUM〈运算符〉→+|-|*|/〈关系符〉→<|<=|>|>=|=|!>word.wordList包(存储了关键字):word:此类是定义了存储关键字的结构:包括String型的关键字,和int型的识别符。
wordList:此类存储了29个关键字,在构造函数中初始化。
2、word包(进行词法分析)中:basicFunction:此类定义了做词法分析的基本函数:GetChar()将下一输入字符读到ch中,搜索知识器前移一个字符位置GetBC();
检查ch中的字符是否为空白。
若是,则调用GetChar直至不是字符为止Concat();
将ch中的字符连接到strToken之后IsLetter();
判断ch中的字符是否为字母IsDigit();
判断ch中的字符是否为数字Reserve();
对strToken中的字符创查找保留字表,若是则返回它的编码,否则返回0Retract();
将搜索指示器回调一个字符位置RetractStr();
将strToken置空lexAnalysis:此类是用来进行词法分析,将分析后的单词存入word数组中,(注:在词法分析中,若是一串字母,则认为是ID,若是数字,则认为是NUM。
存储的时候识别符分别存ID与NUM的识别符,但是内容仍然是自己的内容)其中的wordAnalysis函数就是词法分析函数(具体实现请看后面的重要函数分析)3、stack包(定义栈)中:栈是通过链表来定义的,因此StringListElement:次类定义了链表的每一个节点StringStrack:此类定义了栈,其中有长度属性,有函数:Top();用来取得栈顶Push();
压栈Pop();
出栈4、sentence包(语法分析)中:juzi:定义了文法的句子的结构:key(左边部分)content[](右边推出的部分)lo(长度)grammar:存储了文法的27个关系式AnalysisFB:定义了分析表的存储结构AnalysisF:存储分析表SentenceAnalysis:语法分析JuProduction(wordw):此函数是用来判断在当前栈与输入串的情况下,用哪一个产生式,返回产生式在数组中的下标 若输入串的第一个字符与栈顶字符相同则表示可以规约,则返回-1;
若不能过用产生式,则返回-2;
AnalysisBasic(wordw):此函数是分布进行语法分析,对栈操作 *根据所需要的产生式对符号栈进行操作 *返回0表示规约;
返回1表示移进;
否则表示输入串不是文法的句子5.Main包(主界面)中Main:此类定义了图形界面
2024/4/19 1:25:48 3.25MB 词法分析器及语法分析器
1
一、实验目的1、了解AOP的概念和作用;
2、理解AOP中的相关术语;
3、了解Spring中两种动态代理方式的区别;
4、掌握基于XML和注解的AspectJ开发。
二、实验内容1、按图所示的类图结构,设计接口及其实现类,并完成另外两附加要求:(1)日志功能:在程序执行期间追踪正在发生的活动(打印出调用的方法,以及参数的参数值);
(2)验证功能:希望计算器只能处理正数的运算,当有负数参与运算时,给出提示说明。
分别使用基于XML和注解的AspectJ实现上述功能(创建两个项目)。
(图就是int加减乘除)
2024/4/3 1:38:39 5.06MB JavaEE  Spring AOP 日志功能
1
霍夫曼编码,对输入的字符集和各个字符对应的权值,例如A={a,b,c,d,e,f,g,h},各个字符对应的权值为{5,29,7,8,14,23,3,11},求出每个字符的霍夫曼编码。
【输入形式】输入若干个字符(1<=n<=26),其权值为int型。
输入数据的第一行的整数n,表示字符数;
接下来的n行是字符集,一行一个字符;
最后一行是各字符的权值,以空格分隔。
【输出形式】每个字符(节点)的霍夫曼编码。
参见样例输出。
【样例输入】4abcd13722【样例输出】a:000b:001c:01  d:1【样例说明】提示:1、将最小两个子树合并过程中一定要从前向后去查找两个最小子树,最小子树作为新结点的左子树,次小子树作为新结点的右子树,编码过程中左子树定义为0,右子树定义为12、另外:一般原则要求: 若有重复权值结点,原来森林中的结点优先选择(即深度小的结点优先,以确保最终总树深较浅并相对平衡)。
新生成的权值和的结点后用。
2024/3/30 12:22:16 4KB 二又树应用 霍夫曼编码
1
国家标准行业分类,2017年的数据,有几千条数据,人工在前端添加基本不现实,一般是通过数据库的方式调取,分享给各位猿友。
部分内容展示--------------------------------Tablestructurefor`industrys`------------------------------DROPTABLEIFEXISTS`industrys`;CREATETABLE`industrys`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(300)NOTNULLDEFAULT''COMMENT'行业名称',`parent_id`int(11)NOTNULLDEFAULT'0'COMMENT'父id',`created_at`int(11)DEFAULTNULL,`updated_at`int(11)DEFAULTNULL,`deleted_at`int(11)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=1046694DEFAULTCHARSET=utf8COMMENT='行业表';--------------------------------Recordsofindustrys------------------------------INSERTINTO`industrys`VALUES('1','农业','0',null,null,null);INSERTINTO`industrys`VALUES('2','食品、饮料','0',null,null,null);INSERTINTO`industrys`VALUES('3','服装','0',null,null,null);INSERTINTO`industrys`VALUES('4','纺织、皮革','0',null,null,null);INSERTINTO`industrys`VALUES('5','电工电气','0',null,null,null);INSERTINTO`industrys`VALUES('6','家用电器','0',null,null,null);INSERTINTO`industrys`VALUES('7','数码、电脑','0',null,null,null);INSERTINTO`industrys`VALUES('8','化工','0',null,null,null);INSERTINTO`industrys`VALUES('9','冶金矿产','0',null,null,null);INSERTINTO`industrys`VALUES('10','能源','0',null,null,null);INSERTINTO`industrys`VALUES('11','环保','0',null,null,null);INSERTINTO`industrys`VALUES('12','交通运输','0',null,null,null);
2024/3/17 16:20:22 101KB 行业分类 mysql 国民经济
1
小型网络服务器此文代码替换《深度理解计算机系统·第二版》11.6节的综合:TINYWeb服务器。
书上只给了源代码但是没给建造的步骤,想要理解道理需要先有感性的认识,所以先把服务器搭起来再说。
网络这块学完,Linux下基本的操作就完了,I/O,并发,网络。
网络IO演变过程写完TinyWeb,应该达到的状态是,对网络已经已经有了基本的了解,掌握了数据传输的方式的接口函数使用,明白了FTP,HTTP等所谓的协议都是某种的概念。
网络的目的是数据传输。
要重点理解,数据传输接口的使用。
11/********************************************************************************************************************************121,int套接字(
2024/3/6 7:21:20 104KB C
1
实验七Java多线程一、实验目的:熟悉利用Thread类建立多线程方法。
熟悉利用Thread接口建立多线程方法。
二、实验内容:1.阅读下列程序,分析并上机检验其功能。
classDelayThreadexendsThread{privatestaticintcount=0;privateintno;privateintdelay;publicDelayThread(){count++;no=count;}publicvoidrun(){try{for(inti=0;i<10;i++){delay=(int)(Math.random()*5000);sleep(delay);System.out.println(“Thread”+no+”withadelay”+delay);}}catch(InterruptedExceptione){}}}publicclassMyThread{publicstaticvoidmain(Stringargs[]){DelayThreadthread1=newDelayThread();DelayThreadthread2=newDelayThread();thread1.start();thread2.start();try{Thread.sleep(1000);}catch(InterruptedExceptione){System.out.println(“Threadwrong”);}}}2.讲上列程序利用Runnable接口改写,并上机检验。
3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针编写一个应用程序,创建三个线程分别显示各自的时间。
三、实验要求:1.通过实验掌握Thread、Runnable使用方法;
2.程序必须能够实现多线程;
3.程序必须能够完成题目要求;
4.写出实验报告。
四、实验步骤:首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。
通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
2024/2/26 3:55:02 2KB JAVA
1
共 132 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡