使用@Select注解写<foreach>
智慧是宝石,如果用谦虚镶边,就会更加灿烂夺目。——高尔基 只需要加<sceipt>标签就可以了 1234567@Select({"<script>" + "select * from user where id in " + "<foreach item = 'id' index = 'index' collection = 'list' open='(' separator=',' close=')'>" + "#{id}" + "</foreach>" + "</script>"})List<User> selectU...
MybatisCodeHelperPro
取之有制,用之有节则裕;取之无制,用之不节则乏。——张居正《论时政疏》 安装插件,官网 然后重启idea 来到我们的xml 点击箭头,点击Test current xml tag 这个时候发现需要激活 我们点击试用就行了 然后回来再次点击发现直接帮我们生成了sql 还有很多功能 12345678910111213141516171819202122通过方法名(不需要方法的返回值和参数 会自动推导出来)来生成sql 可以生成大部分单表操作的sql 只需要一个方法的名字即可 会自动补全好方法的参数和返回值 和springdatajpa的语句基本一致xml sql几乎所有地方都有自动提示,sql正确性检测,插件会识别mybatis的一系列标签 如 include trim set where,在这些标签之后的sql可以自动提示数据库的字段,检测sql的正确性,从此不用担心sql写错直接从Intellij自带的数据库或者配置一个数据库生成crud代码 自动检测好 useGeneratedkey 自动配置好模块的文件夹 只用添加包名就可以生成代码了从java类生成建表语句数据...
java8的stream流(二)
字典里最重要的三个词,就是意志、工作、等待。我将要在这三块基石上建立我成功的金字塔——(法)巴斯德 之前写过一个关于stream流的博客,这次再做个补充吧 1234567891011121314// 取出第一条,没取到则为0Integer first = someNumber.stream().findFirst().orElse(0);// 随机取一个,没取到则为0Integer any = someNumber.stream().findAny().orElse(0);// 直接取和,没取到则为0Integer sum = someNumber.stream().reduce(Integer::sum).orElse(0);// 不包含20为trueboolean noneMatch = someNumber.stream().noneMatch(data -> data == 20);// 全部大于0为trueboolean allMatch = someNumber.stream().allMatch(data -> data > 0);// 任何等...
超级简单的安卓图片下载
我们的眼睛就是我们的监狱,我们的眼光所到之处就是我们监狱的围墙。——尼采 首先请求授权 然后我们这里引入依赖 1implementation 'com.hujiang.restvolley:restvolley:1.0.1' 然后调用函数 1234567891011121314151617181920212223String filename = url.substring(url.lastIndexOf("/")); String localPath = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES) + filename; RestVolleyDownload.download(context, url, localPath, new RestVolleyDownload.OnDownloadListener() { @Override ...
command too long
成功与失败的分水岭,可以用这五个字来表达——我没有时间。——(美)富兰克林费尔德 如果idea报command too long 这里有两种处理方式第一种是在.idea->workspace.xml的<component name="PropertiesComponent">标签中添加<property name="dynamic.classpath" value="true" /> 还有一种方式是在项目配置中选择classpath
docker安装consul
忘记了它而微笑,远胜于记住它而愁苦。——罗西塔 12docker pull consuldocker run --name consul -d -p 8500:8500 consul
docker安装zookeeper
人之气质,由于天生,本难改变,惟读书可变化气质。一一曾国藩 1. 1docker pull zookeeper 单机版 1docker run -d -p 2181:2181 --name some-zookeeper --restart always zookeeper 查看注册的服务 1docker exec -it d5c6f857cd88 bash 12./bin/zkCli.shls /services
docker制作springboot容器镜像
石可破也,而不可夺坚;丹可磨也,而不可夺赤。——《吕氏春秋·诚廉》 新建docker配置目录 1mkdir -p /server/docker 上传jar到/server/docker目录下 编写Dockerfile 12# 编辑Dockerfilevim /server/docker/Dockerfile 123456789101112# 基础镜像使用javaFROM java:8# 作者MAINTAINER VampireAchao<achao1441470436@gmail.com># VOLUME 指定了临时文件目录为/tmp。# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp# 将jar包添加到容器中并更名为app.jarADD springboot/ruben-0.0.1-SNAPSHOT.jar app.jar# 运行jar包RUN bash -c 'touch /app.jar'ENTRYPOINT ["java","-j...
docker安装redis
后来许多人问我一个人夜晚踟蹰路上的心情,我想起的却不是孤单和路长,而是波澜壮阔的海和天空中闪耀的星光。——张小砚 123docker pull redis docker run -d --name myredis -p 16379:6379 redis --requirepass "123456" #设置密码为123456
android选择框
精神健康的人,总是努力的工作及爱人,只要能做到这两件事,其它的事就没有什么困难。 —— 佛洛依德 直接上代码吧 123456789new AlertDialog.Builder(activity) // 设置标题 .setTitle("请选择") .setSingleChoiceItems(Items, -1, (dialog, which) -> { // 执行操作,例如把选中的值赋给组件 System.out.println(Items[which]); // 让弹框消失 dialog.dismiss(); }).show();
