有些文字,即使隔了多年,再看时,依然会触动不已。 从你的全世界路过 一个人的记忆就是座城市,时间腐蚀着一切建筑,把高楼和道路全部沙化。如果你不往前走,就会被沙子掩埋。所以我们泪流满面,步步回头,可是只能往前走。 2004年的时候心灰意冷不想劳动,每天捧着电脑打牌,一打就是十几个钟头。但我的技术很差,毫无章法可言,唯一的优势是打字快,于是创造了自己的战术,叫作废话流。 一发牌,我就开始在聊天框里跟玩家说话:“赤焰天使,你娘舅最近身体好吗?”“天使为嘛是赤焰的呢,会炖熟的,你过日子要小心。”“咦,苍凉之心,好久不见你怎么改名字了?”“毛茸茸你好,帮帮我可以吗,我膝盖肿肿的呢……” 结果很多玩家忍无可忍,啪啪啪乱出牌,骂一句“我去你大爷的”就退出了。这样我靠打字赢了打牌,赚到胜率75%。后来慢慢不管用,我又想了新招。 我在对话框里讲故事。 系统发牌,我打字:“从前有个神父,他住的村子里最美的姑娘叫小芳。突然小芳怀孕了,死也不肯说是谁的孩子。村民就暴打她,要将她浸猪笼。小芳哭着说,是神父的呢。村民一起冲进教堂,神父没有否认,任凭他们打断了自己的双腿。过了二十年,奇迹发 ...
大学生涯
未读Web应用基础 简述C/S应用程序与B/S应用程序的区别?a. C/S结构应用程序(Client/Server):客户端—服务器结构。凡是需要在客户的机器上安装客户端软件的应用程序都是CS架构的应用程序。 优点:响应速度快,安全性强,一般应用于局域网中。缺点:需要经常更新客户端,开发维护成本高。 b. B/S结构应用程序(Browser/Server):浏览器—-服务器结构。凡是使用浏览器运行的应用程序都是BS架构的应用程序。 优点:跨平台,客户端零维护,即不需要更新客户端。缺点:响应速度受制于网络。 JavaWeb就是使用java语言开发B/S结构应用程序。 简述URL的各个组成部分?URL:Uniform Resource Locator 即统一资源定位符:用于完整地描述Internet上网页和其他资源的地址的一种标识方法。就是我们通常所说的网址。 URL是惟一能够识别Internet上具体的计算机、目录或文件位置的命名约定。 简述如何修改Tomcat的端口号?在Tomcat安装目录下的conf文件 ...
课外开发
未读一. 缓存菜品通过Redis来缓存菜品数据,减少数据库查询操作 缓存菜品根据分类ID缓存菜品key : value DishController.java12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758package com.sky.controller.user;import com.sky.constant.StatusConstant;import com.sky.entity.Dish;import com.sky.result.Result;import com.sky.service.DishService;import com.sky.vo.DishVO;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import lombok.extern.slf4j.Slf4j;import org.springfr ...
课外开发
未读一. HttpClient介绍HttpClient是Apache Jakarta Common下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。 12345<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.14</version></dependency> 该项目导入了阿里的sdk,传递依赖核心API: HttpClient HttpClients CloseableHttpClient HttpGet HttpPost 发生请求步骤: 创建HttpClient对象 创建Http请求对象 调用HttpClient的execute方法发送请求 入门案例HttpClientTest.java 123456789101112131415 ...
课外开发
未读由于前面已经有系统学习Redis的文章,这里不再详细书写Redis的入门知识(数据结构、常用命令) 一. Java中操作RedisRedis的Java客户端常见的几种: Jedis Lettuce Spring Data Redis(建议) Spring Data Redis使用方式操作步骤: 导入Spring data Redis的Maven坐标pom.xml 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> 配置Redis数据源application.yml 1234spring: redis: host: localhost port: 6379 编写配置类,创建RedisTemplate对象RedisConfiguration.java ...
ChainChain 是 Mybatis-Plus 提供的一种链式编程风格,它允许开发者以更加简洁和直观的方式编写数据库操作代码。Chain 分为 query 和 update 两大类,分别用于查询和更新操作。每类又分为普通链式和 lambda 链式两种风格,其中 lambda 链式提供了类型安全的查询条件构造,但不支持 Kotlin。 使用步骤query:提供链式查询操作,可以连续调用方法来构建查询条件。 1234// 链式查询 普通QueryChainWrapper<T> query();// 链式查询 lambda 式。注意:不支持 KotlinLambdaQueryChainWrapper<T> lambdaQuery(); 示例:12345// 普通链式查询示例query().eq("name", "John").list(); // 查询 name 为 "John" 的所有记录// lambda 链式查询示例lambdaQuery().eq(User::getAge, 30).one(); ...
一.持久层接口补充1.Mapper 层选装件选装件是 Mybatis-Plus 提供的一些扩展方法,它们位于 com.baomidou.mybatisplus.extension.injector.methods 包下。这些方法需要配合Sql 注入器使用,以扩展 Mapper 接口的功能。 使用这些选装件前,需要确保已经正确配置了 Sql 注入器。 选装件说明1>alwaysUpdateSomeColumnById1int alwaysUpdateSomeColumnById(T entity); 源码:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182package com.baomidou.mybatisplus.extension.injector.methods;import com.baomidou.mybatis ...
[toc] 持久层接口Mapper InterfaceBaseMapper 是 Mybatis-Plus 提供的一个通用 Mapper 接口,它封装了一系列常用的数据库操作方法,包括增、删、改、查等。通过继承 BaseMapper,开发者可以快速地对数据库进行操作,而无需编写繁琐的 SQL 语句。 提示: 泛型 T 为任意实体对象 参数 Serializable 为任意类型主键 Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键 对象 Wrapper 为 条件构造器 步骤有: Mapper接口定义Mapper接口,并继承MyBatis-Plus提供的BaseMapper接口。BaseMapper已经包含了基本的CRUD操作。1234@Mapperpublic interface UserMapper extends BaseMapper<User> { // 这里可以添加自定义的SQL方法} 实体类确保有一个对应的实体类,并且该实体类使用了MyBatis-Plus的注解(如@TableName)来映射数据库表。 ...
[toc] 持久层接口本文详细介绍了 MyBatis-Plus 进行持久化操作的各种方法,包括插入、更新、删除、查询和分页等。通过本文,您可以了解到 MyBatis-Plus 提供的各种方法是如何进行数据操作的,以及它们对应的 SQL 语句。 Service Interface<span style="color:red">IService 是 MyBatis-Plus 提供的一个通用 Service 层接口,它封装了常见的 CRUD 操作,包括插入、删除、查询和分页等。<span style="color:red">通过继承 IService 接口,可以快速实现对数据库的基本操作,同时保持代码的简洁性和可维护性。 IService 接口中的方法命名遵循了一定的规范,如 get 用于查询单行,remove 用于删除,list 用于查询集合,page 用于分页查询,这样可以避免与 Mapper 层的方法混淆。 提示: 泛型 T 为任意实体对象 建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseSe ...
[toc] 条件构造器补充知识TypeHandler在 wrapper 中使用 typeHandler 需要特殊处理利用 formatSqlMaybeWithParam 方法 12345// 查询queryWrapper.apply("type={0,typeHandler="+ MyTypeHandler.class.getCanonicalName()+ "}", "待处理字符串");// 更新updateWrapper.setSql("type={0,javaType=string,jdbcType=VARCHAR,typeHandler=xxx.xxx.MyTypeHandler}", "待处理字符串"); 使用提示: 通过使用 MyBatis-Plus 的 Wrapper 条件构造器,开发者可以更加高效地构建复杂的数据库查询条件,同时保持代码的简洁性和安全性。以下是一些注意事项与推荐做法: 在使用 Wrapper 时,尽量使用 Lam ...