MyBatis

fastmybatis编写分表插件

那年仲夏 提交于 2021-01-28 17:49:31
fastmybatis 支持原生的插件,将写好的插件配置到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"> <configuration> <plugins> <plugin interceptor="xxxxx.MyInterceptor" /> </plugins> </configuration> 这里演示编写一个分表插件 假设有4张分表,user_log0~3,记录用户的日志情况 user_log0 user_log1 user_log2 user_log3 现在需要动态查询指定到某一张表 首先生成对应的实体类,指定一张表生成,不用全部生成 /** * 表名:user_logX * %index% 占位符 */ @Table(name = "user_log%index%") public class UserLog { ... } 注意 %index% 占位符 Mapper不变 public interface UserLogMapper extends CrudMapper

程序员入职新公司,只需8步,直接凸显出个人价值

∥☆過路亽.° 提交于 2021-01-28 05:30:47
如果你初入职场,你是否对职场充满好奇与期待;如果你刚刚跳槽,你是否迫切地希望展示自己的才华!当你进入新公司之后,如何能够快速上手工作、融入团队,展现能力,凸显价值? 如果你对新职场存有困惑,以下八个方面一定会让你有所收获,使你的职业规划更加清晰,提高竞争力,更重要的是掌握职业发展的方法论。 1、如何调整心态以适应新环境; 2、初入公司如何给自己设定目标; 3、作为程序员,如何快速上手项目; 4、作为新人,如何快速了解公司的业务; 5、如何尽快了解企业文化并融入团队; 6、如何在试用期内,快速证明自己的能力; 7、如何快速体现自己的价值; 8、如何在新公司做好自己的职业规划; 一、如何调整心态以适应新环境 人们常说,心态决定一切,无论做什么事情,心态都是很重要的一个因素。虽然我们不能改变周围的环境、不能改变别人,但是我们可以调整自己的心态,改变自己。有个好的心态,遇到事情就会从容不迫,心态好,一切都会好。 我将分别从职场新人和跳槽人士两个部分来谈一谈如何调整心态以适应新的工作环境。 1、初入职场六个注意 作为一个职场新人,最重要的变化是从学校的学习生活转变进入职场的工作生活,一切都是新鲜的,步入职场就是进入了社会。其实学校也是一个社会,只不过学校里面没有那么多事情,周围的同学也比较单纯,没有那么复杂。进入职场,其实是进入社会的开始,职场里的人是竞争的关系,能者上,面对各种利益关系

How to use UUID type handler with @Many annotation in MyBatis?

大兔子大兔子 提交于 2021-01-28 01:12:59
问题 I`m using mybatis-spring-boot-starter with 2.1.0 version. And I need to process UUID type to get a nested collection. @Select("SELECT id, name FROM t_service s") @Results(value = { @Result(column = "id", property = "id", jdbcType = JdbcType.OTHER, typeHandler = UuidTypeHandler.class), @Result(column = "name", property = "name"), @Result(property = "rates", column = "id", javaType = List.class, many = @Many(select = "getAllRates")) }) List<Service> findAll(); @Select("SELECT date_from, date_to

肝了3个晚上,大佬把基于ssm框架实现的视频电影系统写出来了

好久不见. 提交于 2021-01-26 18:00:16
项目介绍 本系统使用Spring+SpringMVC+MyBatis架构,数据库使用MySQL,共分为以下四大模块: 1、登录注册及用户管理 提供登录注册以及个人基本资料的修改查询 2、资源管理 管理员从后端添加电影资源并赋予资源的信息如名称、图片、时长、电影上映时间、评分、导演、演员、类型、地区等信息,发布成功在后端以及用户页面军可查看播放。 3、评论管理 在增加互动性且维护良好环境的同时,对用户评论内置了敏感词汇过滤。 4、收藏管理 用户可以将喜欢的电影添加到收藏中心,便于随时观看影片。 项目适用人群 正在做毕设的学生,或者需要项目实战练习的Java学习者 需要(Java学习资料+面试文档+电子书籍+开发工具+项目视频)可以加Java群:1142951706 开发环境: jdk 8 intellij idea tomcat 8.5.40 mysql 5.7 所用技术: Spring+SpringMVC+MyBatis layui jsp 项目访问地址 前端访问地址 http://localhost:8090/index 后台访问地址 http://localhost:8090/admin/index admin/admin 项目截图 首页 热门电影 电影详情 电影播放 后端-敏感词 后端-评价列表 后端-收藏列表 后端-用户列表 数据库配置 数据库配置信息 _#配置文件_

上周热点回顾(11.5-11.11)

谁说胖子不能爱 提交于 2021-01-25 06:14:10
热点随笔: · 程序员,你焦虑吗? ( 闲鱼君 ) · 哎呀,我老大写Bug啦——记一次MessageQueue的优化 ( 山治先生 ) · 使用Visual Studio Code开发.NET Core看这篇就够了 ( 依乐祝 ) · 致C#,致我这工作一年(上) ( RyzenAdorer ) · 博客园隐藏的小秘密及各类排行榜【附源码】 ( 北国丶风光 ) · 神经网络的基本工作原理 ( UniversalAIPlatform ) · [翻译] .NET Standard 2.1 公布 ( Rwing ) · 你所不知道的 CSS 阴影技巧与细节 ( ChokCoco ) · 一文弄懂“分布式锁” ( 向南l ) · Ansible 简介 ( sparkdev ) · 做了「负载均衡」就可以随便加机器了吗?这三招来帮你! ( Zachary_Fan ) · MyBatis动态SQL(认真看看, 以后写SQL就爽多了) ( 阿进的写字台 ) 热点新闻: · 王思聪怒怼腾讯,IG夺冠后腾讯做错了什么? · 我把公司办垮了,因为:对员工宽容、假装高逼格、除了老板没人加班 · 苹果新款手机被曝全面砍单 富士康或被迫裁员 · 「酸碱体质理论」创始人被判罚 1.05 亿美元,当庭承认骗局 · 淘宝店主因代购被判10年,这个量刑冤吗? · 在操作系统、芯片领域跌倒的中国程序员如何崛起? ·

五分钟搞定模板模式

被刻印的时光 ゝ 提交于 2021-01-24 20:55:39
概述 模板模式就是定义一个操作中的算法骨架,然后将一些步骤延迟到子类中。模板方法使得子类在不改变算法的结构即可重定义该算法的某些步骤。 使用场景 喝茶水 我们都知道泡茶基本步骤(算法骨架)有: 烧水、泡茶、喝茶水。 整个过程中很关键的步骤是泡茶,泡茶需要跑什么茶呢?泡多久?(留给子类自己去实现)。 API 写过 API 接口的码友们都知道,写 API 一般有四个步骤: 参数解析、参数校验、处理业务、组织返回参数。 把请求参数解析成该业务的请求参数 json 解析成实体类;参数校验,您可以使用通用的方式就是判断参数是否为空,也可以自己定义特殊的校验方式;处理业务一般每个接口都是不一样的,基本上都是自己去实现;至于返回参数,可能您得根据该 API 接口业务来返回。 支付订单 做过支付相关的系统的人都清楚,支付订单大致分这三个步骤: 组织请求银行或者第三方支付公司的请求参数、发起支付、处理返回结果。 以上三个场景中的步骤就是算法骨架,至于每个步骤可能每个人喝茶偏好不一样,API接口业务不一样、银行或者第三方支付的支付处理不一样,可能需要自己做特殊的处理。 场景现实 实现一个 API 接口 算法类 package com.tian.springbootdemo.controller; import com.tian.springbootdemo.rep.Result; /** *

MyBatis的动态SQL语句这么厉害的!

我只是一个虾纸丫 提交于 2021-01-24 05:48:31
MyBatis动态SQL语句,非常实用 MyBatis 的强大特性之一便是它的动态 SQL。简直厉害啦~ if if 语句比较常用,查询、删除、修改的时候都是可以用到! 其中的 where 1 = 1 仅仅只是为了满足多条件查询页面中不确定的各种因素而采用的一种构造一条正确能运行的动态SQL语句的一种方法。 where 1 = 0 这个条件始终为false,结果不会返回任何数据,只有表结构,可用于快速建表 <!-- 测试 if 语句 id 与之查询方法相对应 resultType 表示User对象 test 属性中可以写判断User对象属性的语句 --> <select id="queryUser1" resultType="User"> select * from t_user where 1=1 <if test="name != null"> and name = #{name} </if> <if test="info != null"> and info = #{info} </if> </select> 当传入过来的 name 不为空时,则拼接语句 and name = #{name} 当传入过来的 info 不为空时,则拼接语句 and info = #{info} 这样的话 mybatis 就能灵活的帮助我们~ 例如: /** * 这里只是部分代码,可以执行查询操作

Springboot mini

和自甴很熟 提交于 2021-01-23 23:36:33
Solon 详解: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播 Solon详解(五)- Solon扩展机制之Solon Plugin Solon详解(六)- Solon的校验框架使用、定制与扩展 Solon详解(七)- Solon Ioc 的注解对比Spring及JSR330 Solon详解(八)- Solon的缓存框架使用和定制 Solon详解(九)- 渲染控制之定制统一的接口输出 Solon详解(十)- 怎么用 Solon 开发基于 undertow jsp tld 的项目? Springboot mini - Solon 的核心 在上篇中我们成功运行了一个简单的web应用;本篇将对它的启动过程、扩展体系和应用属性配置进行介绍。 (一)Solon.start(source, args, builder) 内部执行过程(即Solon的启动过程) 实例化 Solon.global() 加载应用属性配置 加载扩展文件夹 扫描插件并排序记录(插件也可叫扩展组件) 运行builder函数(如果它不为null) 运行插件 扫描source目录并加载java bean 加载渲染关系 完成 了解这个过程非常之重要,尤其是有兴致开发插件的同学:你的插件在运行之前

springBoot+mybatisPlus小demo

倾然丶 夕夏残阳落幕 提交于 2021-01-23 07:56:34
项目介绍:采用restful api进行接口规范 / 项目框架SpringBoot+mybatis Plus / 采用mysql进行数据存储 / 采用swaggerUI进行前后端业务分离式开发。 开发环境:JDK1.8+Mysql8.0.12+IDEAL 实现功能:springboot搭建整体框架,MybatisPlus动态生成Dao+Services+Entity+Controller结构 项目介绍:无实际的业务操作,都是测试功能。其中为了区别mybastis和mybatisPlus,特意写了两个接口分别采用mapper.xml进行dao层操作和采用Iservice提供的CRUD操作进行数据查询。 ps:如果对springboot和mybayisPlus已了解,可直接访问码云进行demo下载 https://gitee.com/xc199534/SpringBootMybatisPlus/ ----------------------------------------------------------分割线--------------------------------------------- 1.项目整体结构 其中Config中包括MybatisPlusConfig和SwaggerConfig两个类,分别用于初始化MybatisPlus和Swagger基础设置。

网站性能优化小结和spring整合redis

眉间皱痕 提交于 2021-01-23 07:04:15
现在越来越多的地方需要非关系型数据库了,最近网站优化,当然从页面到服务器做了相应的优化后,通过在线网站测试工具与之前没优化对比,发现有显著提升。 服务器优化目前主要优化tomcat,在tomcat目录下的server.xml文件配置如下内容: <Connector port="1818"   protocol="HTTP/1.1"   maxHttpHeaderSize="8192"   maxThreads="1000"   minSpareThreads="100"   maxSpareThreads="1000"   minProcessors="100"   maxProcessors="1000"   enableLookups="false"   compression="on"   compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"   connectionTimeout="20000"   URIEncoding="utf-8"   acceptCount="1000"   redirectPort="8443"   disableUploadTimeout="true"/> 参数说明: Protocol