MySQL之创建库

MySQL 创建库语法 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name 创建一个默认的数据库 create database school; 执行结果 mysql> create database school; Query OK, 1 row affecte

MySQL
发布于 5年前

what's is vo、po、dto、bo、pojo、dao、entity

最近接触公司的 java 项目,发现大家对 vo、po、dto、bo、pojo、dao、entity 使用比较乱,所以这里简单整理下。 各名词的作用 VO(value object) 值对象 用于业务之间的数据传输,和 PO 一样只包含数据和对应的 getter 和 setter,可以和数据库中字段对应也可以不对应。 PO(persistent object) 持久化对象 PO 对应于数据库中的一张表,字段和表字段一一对应,PO 只包含数据和对应的 getter 和 setter 函数。在使用中 PO 用来表示数据库查询结果的一条记录,多条记录使用 PO 的集合表示。 DTO(data tra

java
发布于 5年前

震惊!同事小张踩了 gorm 神奇的 Scan 函数的坑

gorm 简介 gorm 是 go 语言中实现的比较好的 ORM 包,且是国人开发的。项目地址 事故描述 Scan 是 gorm 提供的一个把数据库结果读取到 struct 的函数。定义如下: // Scan scan value to a struct func (s *DB) Scan(dest interface{}) *DB { return s.NewScope(s.Value).Set("gorm:query_destination", dest).callCallbacks(s.parent.callbacks.queries).db } 今天同事小张写代码的时候写了一个

go
发布于 5年前

MySQL 字符串比较不区分大小写

最近做了一个简单的短链接服务,短链接使用自增 id 转化为 62 进制(10 个数字+26个小写字母+26个大写字母),但是发现插入数据库报了索引插入重复。 展示 创建测试表 CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `short_url` varchar(255) NOT NULL COMMENT '测试', PRIMARY KEY (`id`), UNIQUE KEY `short_url` (`short_url`) ) ENGINE=InnoDB AUTO_INCREMENT

数据库
发布于 5年前

杀掉 MySQL 慢查询

show processlist show processlist 用来查看 MySQL 正在运行的线程,如果使用 root 账号可以看到所有用户的线程或者只能看到所使用账号自己的线程,当然如果该用户被赋予了 Process 权限也是可以查看所有用户的线程的。 命令使用展示: mysql> show processlist; +-----+------+-----------+------+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | S

数据库
发布于 5年前

SQL 查询如何按 in 后面的数组列表的顺序返回数据

今天要查询一个根据手机号返回用户的姓名,但是想要的 SQL 查询的结果的顺序和 in 后面数组里手机号顺序一样,使用 order by field(phone,111,222) select name,phone from users where phone in (18800000000,18800000000001) order by field(phone, 18800000000,18800000000001)

数据库
发布于 6年前

SVN 认证失败

问题 搭建好 svn 之后可以正常拉下库,但是 commit 的时候报以下权限错误。 > $ svn commit -m "test" svn: E170001: Commit failed (details follow): svn: E170001: Authorization failed 解决 问题是因为 svn 权限配置问题。

工具
发布于 6年前

【每日一题】什么是 Kafka

Kafka 简介 Kafka 是一个基于分布式的消息发布-订阅系统,它被设计成快速、可扩展的、持久的。与其他消息发布-订阅系统类似,Kafka 在主题当中保存消息的信息。生产者向主题写入数据,消费者从主题读取数据。由于 Kafka 的特性是支持分布式,同时也是基于分布式的,所以主题也是可以在多个节点上被分区和覆盖的。 信息是一个字节数组,程序员可以在这些字节数组中存储任何对象,支持的数据格式包括 String、JSON、Avro。Kafka 通过给每一个消息绑定一个键值的方式来保证生产者可以把所有的消息发送到指定位置。属于某一个消费者群组的消费者订阅了一个主题,通过该订阅消费者可以跨节点地接收

工具
发布于 6年前

【每日一题】合并有序链表

题目 合并两个有序链表,合并之后仍是有序的。 分析 这个题目很简单,类似于合并排序的合并过程。 实现 节点定义 type ListNode struct { Val int Next *ListNode } 单元测试 var mergeOrderListList = [][][]int{ { {1, 2, 3, 4}, {7,8,9}, {1, 2, 3, 4, 7, 8, 9}, },{ {1, 2, 3, 4}, {3,8}, {1, 2, 3, 3, 4, 8

算法
发布于 6年前

【每日一题】我为什么喜欢面试链表反向打印

题目 输入一个单链表链表的头结点,从尾到头打印每个节点的值。 题目很简单但是实现方法却可以有很多种,也能考察人的不同方面的知识。这里实现使用 go 语言。 实现 节点定义 首先说明这里不能使用各语言内置的链表,比如 java 的 LinkedList。这里要求的单链表只能有两个属性不能有其他的属性和方法。 go 语言定义如下 type ListNode struct { Val int Next *ListNode } 堆栈 or 数组 看到这个题目最先想到的就是用堆栈或数组来做,方法就是遍历所有节点放入到数组或堆栈然后再遍历打印。数组就比较简单了,这里写下堆栈的实现。 首先

算法
发布于 6年前