首页
留言板
友链
关于
Search
1
内测“合金弹头”嘿嘿
273 阅读
2
Nginx搭建一个简易的图床
268 阅读
3
Apache Dubbo初步认识
262 阅读
4
给站点添加邮件通知功能
234 阅读
5
Maven打包插件与idea
133 阅读
知识库
好奇猫
日常说
笔记本
登录
/
注册
Search
标签搜索
maven
Java代码
idea
帆软
Java
git
MyBatis
前端
CSS
游戏
Bootstrap
生活
网上冲浪
邮件配置
说说
vue
Nginx
Excel
MySQL
数据库调优
龙流
累计撰写
44
篇文章
累计收到
10
条评论
首页
栏目
知识库
好奇猫
日常说
笔记本
页面
留言板
友链
关于
搜索到
9
篇与
知识库
的结果
2022-06-09
idea 根据数据库生成JavaBean
原文参考链接java – 如何基于JDBC结果集创建表
2022年06月09日
6 阅读
0 评论
0 点赞
2022-06-01
MyBatis入门
mybatis它内部封装了jdbc,简化了原始持久层操作每次都要去处理加载驱动、创建连接、创建statement等繁杂的过程;上面这些操作,JDBCTemplate工具类也实现了,为什么JDBCTemplate不叫框架,而是工具类呢?原因是工具类只是对操作的一些封装,对于更多的细节它并没有去处理和提供解决方案。mybatis的环境搭建打开idea创建一个空的maven项目,导入mybatis和数据库MySQL的maven依赖配置mybatis的配置文件(该配置文件名固定,以便项目启动是能识别找到该配置文件)<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- mybatis的主配置文件 --> <configuration> <!-- 配置环境 --> <environments default="mysql"> <!-- 配置mysql的环境--> <environment id="mysql"> <!-- 配置事务的类型--> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源(连接池) --> <dataSource type="POOLED"> <!-- 配置连接数据库的4个基本信息 --> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="1234"/> </dataSource> </environment> </environments> <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 --> <mappers> <mapper resource="com/lwlong/dao/IUserDao.xml"/> </mappers> </configuration>顺便配置一下日志# Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategory=INFO, CONSOLE debug info warn error fatal log4j.rootCategory=debug, CONSOLE, LOGFILE # Set the enterprise logger category to FATAL and its only appender to CONSOLE. log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE # CONSOLE is set to be a ConsoleAppender using a PatternLayout. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n # LOGFILE is set to be a File appender using a PatternLayout. log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=d:\axis.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n创建映射文件mapper<?xml version="1.0" encodeing="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.lwlong.dao.IUserDao"> <!--查询所有用户--> <select id="findAll" resultType="com.lwlong.entity.User"> select * from user </select> </mapper>MyBatis的使用案例public static void main(String[] args)throws Exception { //1.读取配置文件 InputStream is = Resource.getResourceAsStream("SqlMapConfig.xml"); //2.创建SqlSessionFactory工厂 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(is); //3.使用工厂生产SqlSession对象 SqlSession sqlSession = factory.openSession(); //4.使用SqlSession创建Dao(Mapper)接口的代理对象 IUserDao userDao = sqlSession.getMapper(IUserDao.class); //5.使用代理对象执行方法 List<User> users = userDao.findAll(); for(User user : users) { System.out.println(user); } //6.释放资源 sqlSession.close(); is.close(); }
2022年06月01日
6 阅读
0 评论
0 点赞
2022-06-01
MyBatis
MyBatis从初级到高级理论知识1、第一部分mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 自定义mybatis框架(了解mybatis中的执行细节)2、第二部分mybatis基本使用 mybatis的单表crud mybatis的参数和返回值 mybatis的dao编写 mybatis配置的细节(标签的使用)3、第三部分mybatis的深入和多表 mybatis的连接池 mybatis的事务控制及设计的方法 mybatis的多表查询4、第四部分mybatis的缓存和注解开发 mybatis中的加载时机(查询的时机) mybatis中的一级缓存和二级缓存 mybatis的注解开发5、第五部分mybatis的搭配使用(配合第三方包,提高开发效率的实战) mybatis与SpringData使用便捷性和功能性比较
2022年06月01日
5 阅读
0 评论
0 点赞
2022-05-30
此内容被密码保护
加密文章,请前往内页查看详情
2022年05月30日
2 阅读
0 评论
0 点赞
2022-04-07
Spring集成web环境 SpringMVC
Spring提供获取应用上下文的工具1、分析: Spring提供了一个监听器ContextLoaderListener,上面的分析不用手动实现,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中。 Spring提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。2、使用: 我们需要做两件事①在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标)②使用WebApplicationContextUtils获得应用上下文对象ApplicationContext3、实例:<!--导入spring-web坐标--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.0.5.RELEASE</version> </dependency>配置web.xml<!--全局初始化参数--> <context-param> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!--配置监听器--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</1istener-class> </listener>配置算是完成了开始使用:ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); Object obj = applicationContext.getBean ("id"); SpringMVC 统一管理处理Servlet1、分析: SpringMVC通过DispatcherServlet全局的Servlet称之为前端控制器,根据请求资源地址然后映射到具体的Controller。 视图和模型(ModelAndView),每个Controller中的每个方法根据需求进行返回,可以只返回文字信息,可以返回视图模型信息。①用户发送请求至前端控制器DispatcherServlet。②DispatcherServlet收到请求调用HandlerMapping处理器映射器。③处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。④DispatcherServlet调用HandlerAdapter处理器适配器。⑤HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。⑥Controller执行完成返回ModelAndView。⑦HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。⑧DispatcherServlet将ModelAndView传给ViewReslover视图解析器。⑨ViewReslover解析后返回具体View。⑩DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。DispatcherServlet响应用户。2、使用:①导入SpringMVC相关坐标②web.xml配置SpringMVC核心控制器DispathcerServlet③配置SpringMVC核心文件 spring-mvc.xml④创建Controller类和视图页面⑤使用注解配置Controller类中业务方法的映射地址⑥客户端发起请求测试
2022年04月07日
23 阅读
0 评论
0 点赞
2021-07-25
MySQL处理Excel数据
了解一下-关于Excel神操作拿Excel当PhotoShop作画.Excel函数版bad apple.甚至用Excel编程...{bilibili bvid="BV1yC4y1a7Rz"/} Excel表格,对里面的数据进行比对和整理,首先不可能一个一个去修改去填写数据啊,利用函数啊或其他什么Excel功能我这三脚猫的Excel操作在满足不了需求啊,另辟蹊径把数据导入到MySQL数据库的形式进行数据操作,得到需要的数据在给领导。Excel数据导入MySQL数据库- 任何一个MySQL客户端(如:Navicat、SQLyog)都有导入向导,我用的是SQLyog 1. 在工具栏选择(高级工具->导入外部数据)会出现一个导入数据向导,直接点击下一步 2. 然后选择导入的文件是什么格式的,选择文件位置,再点下一步 3. 选择导入的数据库,默认是当前连接的数据库,所以直接下一步 4. 由于是从Excel表格导入数据,Excel中有列名,所以选择从数据源拷贝数据->下一步 5. source下对应的是Excel中的Shell名,勾选你需要导入的Shell数据;Destination选择导入的表,也可以直接以Excel数据为表,直接设置一个表名;Map设置Exce列与表字段映射关系;设置好后,就可以点击下一步 6. 后面都是点下一步,直到最后窗口日志,出现successful。最后完成效果图{gird column="2" gap="15"}{gird-item}{/gird-item}{gird-item}{/gird-item}{/gird}MySQL存储过程FETCH INFO与WHILE和LOOP的使用WHILE实现CREATE DEFINER=`root`@`localhost` PROCEDURE `P_GX_LZPI1_202`() BEGIN #Routine body goes here... DECLARE flag INT DEFAULT 0; DECLARE tab_num varchar(10); DECLARE curJob CURSOR FOR SELECT `表顺序号` FROM `冷轧pi系统字段1_202` GROUP BY `表顺序号`; # 溢出处理,查询是否有下一个数据,没有将标识设为1 DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1; OPEN curJob; # 取值设置到tab_num中 FETCH curJob INTO tab_num; # 使用while循环 WHILE flag != 1 DO # 主要操作过程 INSERT INTO `冷轧test` SELECT a.`机组号`, a.`机组中文名`, a.`工艺顺序号`, a.`工艺段`, a.`表顺序号`, a.`表名`, (@i:=@i+1) AS 字段顺序号, a.`字段名` , a.`字段中文名`, a.`是否需对齐` FROM `冷轧pi系统字段1_202` a,(SELECT @i:=0) AS it WHERE a.`表顺序号` = tab_num; # 把游标向后移一位 FETCH curJob INTO tab_num; # 结束循环 END WHILE; CLOSE curJob; ENDLOOP方式实现CREATE DEFINER=`root`@`localhost` PROCEDURE `P_GX_LZPI2_112`() BEGIN DECLARE tab_num VARCHAR(10); DECLARE done INT DEFAULT FALSE; DECLARE curJob CURSOR FOR ( -- 定义 SELECT `表顺序号` FROM `冷轧pi系统字段1_202` GROUP BY `表顺序号` ); DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 监听器 OPEN curJob; -- 打开游标 label:LOOP FETCH curJob INTO tab_num; IF done THEN LEAVE label; END IF; INSERT INTO `冷轧test` SELECT a.`机组号`, a.`机组中文名`, a.`工艺顺序号`, a.`工艺段`, a.`表顺序号`, a.`表名`, (@i:=@i+1) AS 字段顺序号, a.`字段名` , a.`字段中文名`, a.`是否需对齐` FROM `冷轧pi系统字段2_112` a,(SELECT @i:=0) AS it WHERE a.`表顺序号` = tab_num; END LOOP label; CLOSE curJob; -- 关闭游标 END
2021年07月25日
112 阅读
0 评论
0 点赞
2021-07-20
Nginx搭建一个简易的图床
Nginx下载官网,建议下载稳定版,我这里下载的是1.8.1(windows),linux版安装方法与之类似安装方法:直接解压到指定盘符即可,完成后可以看到一个nginx.exe的文件测试:双击nginx.exe文件,一个窗口一闪而过就属于在运行了,打开浏览器输入localhost回车,看到Welcome to Nginx就成功了怎么去搭建图床呢 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 而图片呢就属于静态资源,用nginx来发布一些图片资源就很高效。### 实现过程: 打开nginx配置文件`conf/nginx.conf`,在server中添加如下配置。 **注意:配置多个location站点时,准确的目录使用alias属性** location /images/ { #指定图片存放路径 #root D:/Program_Files/nginx-1.8.1/images/;#(可以放在nginx文件夹路径里也可以放其他盘) alias F:/Project/itcast_health/images/; }保存上述配置文件,重启nginx。可以开始测试图片是否可以访问了我们在F:\Project\itcast_health\images目录下放一张111222.jpg图片然后打开浏览器,在地址栏输入localhost:8686/images/111222.jpg 回车即可查看效果延伸端口绑定(同时部署多个资源项目端口不同)上传2个(或更多)项目的独立目录到/usr/local/nginx下:index目录和regist目录修改nginx.conf配置文件:/usr/local/nginx/conf/nginx.conf#添加两个或多个server server { listen 81; # 监听的端口 server_name localhost; # 域名或ip location / { # 访问路径配置 root index;# 根目录 index index.html index.htm; # 默认首页 } error_page 500 502 503 504 /50x.html; # 错误页面 location = /50x.html { root html; } } server { listen 82; # 监听的端口 server_name localhost; # 域名或ip location / { # 访问路径配置 root regist;# 根目录 index regist.html; # 默认首页 } error_page 500 502 503 504 /50x.html; # 错误页面 location = /50x.html { root html; } }反向代理了解什么是:正向代理: 代理服务器明确知道去访问那个服务地址,然后再将数据返回给请求者反向代理:请求某项服务,首先会到达代理服务器,代理服务器根据一定的规则(eg:轮循规则)去访问服务器例如:正常访问一个项目时可以直接访问tomcat服务器,现在使用nginx作为反向代理把请求转发到tomcat,这样就可以部署tomcat集群,提升性能!实现: 打开nginx服务器配置文件 添加如下配置 upstream tomcat-travel{ server 192.168.177.129:8080; #被代理服务器的IP和端口 } server { listen 80; # 监听的端口 server_name www.hmtravel.com; # 域名或ip location / { # 访问路径配置 # root index;# 根目录 proxy_pass http://tomcat-travel; index index.html index.htm; # 默认首页 } }过程结构图负载均衡简单说就是在反向代理中的nginx服务器配置文件中配置多个目标服务器/tomcat。
2021年07月20日
268 阅读
1 评论
0 点赞
2021-06-01
“前端防呆”——持续更新
原文链接CSS-Position属性四个取值用法和区别美化滚动条jQuery.nicescroll{collapse}{collapse-item label="CSS-Position属性四个取值用法和区别" open}CSS-Position属性四个取值用法和区别Position属性有以下四个取值:1、static:静态定位,是position属性的默认值,表示无论怎么设置top、bottom、right、left属性元素的位置(与外部位置)都不会发生改变。2、relative:相对定位,表示用top、bottom、right、left属性可以设置元素相对与其相对于初始位置的相对位置。3、absolute:绝对定位,表示用top、bottom、right、left属性可以设置元素相对于其父元素(除了设置了static的父元素以外)左上角的位置,如果父元素设置了static,子元素会继续追溯到祖辈元素一直到body。4、fixed:绝对定位,相对于浏览器窗口进行定位,同样是使用top、bottom、right、left。四种取值中,除了static之外,其他属性都可通过z-index进行层次分级-staticstatic(静态定位)是默认值,元素出现在正常的流中。不会受到top, bottom, left, right影响。-relative定位为relative的元素脱离正常的文本流中,但其在文本流中的位置依然存在。注:元素脱离正常的文本流意思是外观位置发生了改变,即是实际页面的可以看到的变化,文本流的位置依然存在指的是默认的位置(设置之前的位置)还在,相当于“虽然设置了位置偏移,但元素的灵魂还在原地~”他是默认参照父级的原始点为原始点定位元素,无父级则以文本流的顺序在上一个元素的底部为原始点定位元素位置,并配合top、bottom、right、left设置偏移确定元素定位:1、一般情况下以父级的左上角为原定,在没有父级的时候,他是参照浏览器左上角,如果在没有父级元素的情况下,存在文本,则以文本的底部为原始点进行定位并将文字断开。2、如果父级没有设定position属性,仍旧以父级的左上角为原点进行定位。3、如果父级设定position属性,不管是取哪个值,都以父级的左上角为原点进行定位。如果父级有Padding属性,那么就以内容区域的左上角为原点,进行定位。以上三点可以总结出,无论父级存在不存在,无论有没有TRBL,均是以父级的左上角进行定位,但是父级的Padding属性会对其影响。-absolute定位为absolute的层脱离正常文本流,但与relative的区别是其在正常流中的位置不再存在。(这里是与relative的第一个不同点)注:跟relative一样,这里也是实际上可以看到的布局发生了变化,跟relative不同的是,此时它的“灵魂”不在原地,也不在新的位置,而是不复存在了。在这里要注意别跟Fixed值混淆,absolute并不是永远根据浏览器窗口进行定位的,这是Fixed的特性,absolute要更加复杂:1、一般情况下以父级的左上角定位,在没有父级的时候,他是参照浏览器左上角(这与relative完全一致);如果在没有父级元素的情况下,存在文本,则以它前面的最后一个文字的右上角为原点进行定位但是不断开文字,覆盖于上方。(这里是与relative的第二个不同点);2、如果父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由偏移设置(top、bottom、left、right)决定;(这与relative完全一致)3、如果父级设定position属性(无论是absolute还是relative),则以父级的左上角为原点进行定位,位置由偏移设置(top、bottom、left、right)决定;(这与relative完全一致)。即使父级有Padding属性,对其也不起作用,说简单点就是:它只坚持一点,就以父级左上角为原点进行定位,父级的padding对其根 本没有影响。 (这里是与relative的第三个不同点)-fixed其实fixed和absolute是一样的,唯一的区别在于:absolute元素是根据最近的定位上下文确定位置,而fixed永远根据浏览器确定位置。fixed元素与文档流无关,可重叠也不回影响其他元素布局,只一直根据浏览器左上角定位。-relative和absolute的区别{gird column="3" gap="4"}{gird-item}特征在正常流中的位置无父元素但存在文本父元素的padding属性对元素位置有无影响{/gird-item}{gird-item}relative存在以文字底部为原点并会断开文字有影响{/gird-item}{gird-item}absolute不存在以最后一个文字右上角为原点并不断开文字无影响{/gird-item}{/gird}-z-index属性z-index,又称为对象的层叠顺序,它用一个整数来定义堆叠的层次,整数值越大,则被层叠在越上面,当然这是指同级元素间的堆叠,如果两个对象的此属性具有同样的值,那么将依据它们在HTML文档中流的顺序层叠,写在后面的将会覆盖前面的。需要注意的是,父子关系是无法用z-index来设定上下关系 的,一定是子级在上父级在下。总的来说就是:先看元素的父子关系,子级在上父级在下;再看元素的z-index定义的整数值大小,数值大在上,数值小在下;如果是同一级元素并且z-index值相同,就看元素在html文档中流的顺序,先写的会被后写的覆盖。注:使用static 定位或无position定位的元素z-index属性是无效的。{/collapse-item}{collapse-item label="美化滚动条jQuery.nicescroll"}1.引用jquery.js和jquery.nicescroll.js<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.nicescroll.js"></script>2.通过jquery获取需要添加滚动条的元素,调用niceScroll函数进行配置即可使用该插件,如下$('#content').niceScroll({ cursorcolor: "#ccc",//#CC0071 光标颜色 cursoropacitymax: 1, //改变不透明度非常光标处于活动状态(scrollabar“可见”状态),范围从1到0 touchbehavior: false, //使光标拖动滚动像在台式电脑触摸设备 cursorwidth: "5px", //像素光标的宽度 cursorborder: "0", // 游标边框css定义 cursorborderradius: "5px",//以像素为光标边界半径 autohidemode: false //是否隐藏滚动条 });{/collapse-item}{/collapse}
2021年06月01日
132 阅读
0 评论
1 点赞
2021-05-05
人人都献出一点爱,这个世界充满爱——历史记录持续更新
{gird column="3" gap="15"}{gird-item} {x} v2ray教程 {x} FTP服务器FileZilla Server配置及使用方法 {x} 踩坑:FTP主动传输与被动传输区别设置 {X} 另一种FTP服务器serv-U-FTP配置 { } 对页面仿信纸作业纸样式修饰 { } 什么是uni-app { } layer弹出层组件-layui出品 { } 富文本编辑器 { } 让input支持QQ截图或剪切板中的图像数据(Java实现保存) { } linux 在本地创建svn服务器 { } 第三方jar包操作csv{/gird-item}{gird-item}{/gird-item}{gird-item}{/gird-item}{/gird}
2021年05月05日
51 阅读
0 评论
0 点赞