Anima 是一款牛逼的数据库框架
spring-boot-anima说明Anima 是一款操作数据库的框架,它支持MySQL、SQLite、H2、Oracle、SqlServer等数据库,非常方便的对数据库进行操作。
快速入门
创建 Model
查询数据
保存数据
更新和删除
事务操作
在 Spring 框架中使用
高级用法
本例程是在spring boot的基础上集成Anima操作MySQL数据库,代码进行了简单的CRUD操作:
接口:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061/** * 自定义实现类 * @author YI * @date 2018-11-27 14:40:31 */public interface IBaiKeService { /** * 根据id查询数据 * @param id id * @return */ Baike selectById(int id ...
Java8中的Stream,一行代码,让集合操作飞起来!
简介java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下。比如在项目中经常用到集合,遍历集合可以试下lambda表达式,经常还要对集合进行过滤和排序,Stream就派上用场了。用习惯了,不得不说真的很好用。
Stream作为java8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、便利的聚合操作或者大批量的数据操作,提高了编程效率和代码可读性。
Stream的原理:将要处理的元素看做一种流,流在管道中传输,并且可以在管道的节点上处理,包括过滤筛选、去重、排序、聚合等。元素流在管道中经过中间操作的处理,最后由最终操作得到前面处理的结果。
集合有两种方式生成流:
stream() − 为集合创建串行流
parallelStream() - 为集合创建并行流
上图中是Stream类的类结构图,里面包含了大部分的中间和终止操作。
中间操作主要有以下方法(此类型方法返回的都是Stream):map (mapToInt, flatMap 等)、 filter、 distinct、 sorte ...
通过整合dubbo 和 zookeeper 到Spring Boot中实现服务治理
spring-boot-dubbo-zookeeper说明通过整合dubbo-spring-boot 和 zookeeper 到Spring Boot中实现服务治理
项目为聚合项目,通过一下几个子项目模块提供服务:
基础公共接口:spring-boot-dubbo-zookeeper-base-interface
服务提供者:spring-boot-dubbo-zookeeper-provider
服务消费者:spring-boot-dubbo-zookeeper-consumer
在application.yml中配置zookeeper的地址可以单击也可以集群。
项目启动我们可以通过打印的日志或者Dubbo Admin查看,日志打印即可查看,我展示一下Dubbo Admin的显示:
服务治理:提供者
服务治理:消费者
项目启动之后请求:
12http://localhost:9091/hello/xiaohuahttp://localhost:9091/hello/goodbye/meinv
项目源码地址spring-boot-dubbo-zookeeper
问题建议
联系我的邮 ...
Java 11 已发布,String 还能这样玩!
Java 11 增加了一系列的字符串处理方法,如以下所示。1234567891011121314151617// 判断字符串是否为空白" ".isBlank(); // true// 去除首尾空格" Javastack ".strip(); // "Javastack"// 去除尾部空格 " Javastack ".stripTrailing(); // " Javastack"// 去除首部空格 " Javastack ".stripLeading(); // "Javastack "// 复制字符串"Java".repeat(3); // "JavaJavaJava"// 行数统计"A\nB\nC".lines().count(); // 3
最有意思的是 **repeat **和 **lines * ...
使用IDEA插件Alibaba Cloud Toolkit工具一键部署本地应用到ECS服务器
使用IDEA插件Alibaba Cloud Toolkit工具一键部署本地应用到ECS服务器最近看到阿里云发布了一款名为 Alibaba Cloud Toolkit 的插件,可以帮助开发者高效开发并部署适合在云端运行的应用,瞬间击中了我的小心脏,这个对于个人开发者来说超级棒啊,终于不需要再手动 scp/ftp 上传应用到服务器了,连启动的命令都是可以自行编写的,棒棒!PS:个人开发者项目不多也不大,如果使用jenkins等工具会比较麻烦,不如直接用手扔来得直接。
什么是 Alibaba Cloud ToolkitAlibaba Cloud Toolkit (后文简称 Cloud Toolkit)是阿里云针对 IDE 平台为开发者提供的一款插件,用于帮助开发者高效开发并部署适合在云端运行的应用。您在本地完成应用程序的开发、调试和测试后,可以使用在 IED (如 Eclipse 或 IntelliJ)中安装的 Cloud Toolkit 插件,通过图形配置的方式连接到云端部署环境并将应用程序快如部署到云端。说明:目前 Cloud Toolkit 仅支持 Eclipse、Intel ...
openVPN多配置文件管理
我们在使用openVPN的时候可能会有好几个不同的配置,此时如果需要切换使用默认会显得很麻烦,我们可以手动修改配置文件达到一键切换的目的。
首先把不同的配置按文件夹分类归类好,把其所在的config.ovpn文件移动到文件夹外面,如下:
文件夹里面装的是我们生存的配置文件,比如我的那个经典网络文件A级里面:
之后我们需要修改移动出来的xxx.ovpn文件,用记事本打开可能不会自动格式化就一行显示,看着不方便,所以我用Sunlime Text软件打开,把每个修改为如下的样子
然后我们启动OpenVPN GUI就可以选择我们所需要的网络了
我使用的是Windows 7系统 其他系统不知道信不信,需要自己测试。
MySQL 基本语法
一、基础
二、创建表
三、修改表
四、插入
五、更新
六、删除
七、查询
八、排序
九、过滤
十、通配符
十一、计算字段
十二、函数
十三、分组
十四、子查询
十五、连接
十六、组合查询
十七、视图
十八、存储过程
十九、游标
二十、触发器
二十一、事务管理
二十二、字符集
二十三、权限管理
参考资料
一、基础模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。
主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。
SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。
SQL 语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的 DBMS 以及配置。
SQL 支持以下三种注释:
12345# 注释SELECT *FROM mytable; -- 注释/* 注释1 注释2 */
数据库创建与使用:
12CREATE DATABASE te ...
超详细 Nginx 极简教程
超详细 Nginx 极简教程什么是Nginx?Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
安装与使用安装nginx官网下载地址:http://nginx.org,发布版本分为 Linux 和 windows 版本。也可以下载源码,编译后运行。
从源代码编译 Nginx把源码解压缩之后,在终端里运行如下命令:
12cd C:cd C: ginx-0.8.54 start nginx
Nginx / Win32 是运行在一个控制台程序,而非 windows 服务方式的。服务器方式目前还是开发尝试中。
使用nginx 的使用比较简单,就是几条命令。常用到的命令如下:
nginx -s stop :快速关闭Nginx,可能不保存相 ...
微信扫码登录是如何实现的?
微信扫码登录是如何实现的?网页版微信刚推出时,无数人被它的登录方式惊艳了一下,不需要输入用户名密码,打开手机微信扫一扫,便自动登录。从原理上讲,二维码只能是一段文本的编码,如何用它实现快捷登录的呢?
打开网页版微信,可以看到如下的页面:
微信扫码界面
如果你用我查查、支付宝、新浪微博等软件扫码二维码,你会发现此二维码解析出来是如下的网址:
https://login.weixin.qq.com/l/obsbQ-Dzag==
接下来详细介绍一下扫码登录具体的每个步骤:
扫码登录完整流程
①:用户 A 访问微信网页版,微信服务器为这个会话生成一个全局唯一的 ID,上面的 URL 中 obsbQ-Dzag== 就是这个 ID,此时系统并不知道访问者是谁。
②:用户A打开自己的手机微信并扫描这个二维码,并提示用户是否确认登录。
③:手机上的微信是登录状态,用户点击确认登录后,手机上的微信客户端将微信账号和这个扫描得到的 ID 一起提交到服务器
④:服务器将这个 ID 和用户 A 的微信号绑定在一起,并通知网页版微信,这个 ID 对应的微信号为用户 A,网页版微信加 ...