HiSEN

Personal Technology Blog


  • 归档

  • 分类

  • 标签

  • 书单

  • 关于

  • 搜索
close
HiSEN

Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码

发表于 2017-03-22 | 分类于 java

MyBatis Generator是一个非常方便的代码生成工具,

可以根据数据库中表结构自动生成CRUD代码,可以满足大部分需求。

MyBatis Generator (MBG) 是一个Mybatis的代码生成器 ,

可以根据数据库中表结构自动生成简单的CRUD(插入,查询,更新,删除)操作。

但联合查询和存储过程,需手动手写SQL和对象。

PS:配置过程中请注意自己的工程目录结构

一、pom.xml添加插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.5</version>
</dependency>
</dependencies>
<configuration>
<overwrite>true</overwrite>
</configuration>
</plugin>

二、配置generatorConfig.xml

阅读全文 »
HiSEN

Ubuntu安装nginx

发表于 2017-03-21 | 分类于 软件

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,

第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,

因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

说明:这只是一个初步的安装,后续进一步实践

安装Nginx依赖库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool
#安装 pcre依赖库
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
#安装 zlib依赖库(http://www.zlib.net)
sudo apt-get install zlib1g-dev
#安装 ssl依赖库
sudo apt-get install openssl
#下载最新版本:
wget http://nginx.org/download/nginx-1.9.9.tar.gz
#解压
tar -zxvf nginx-1.9.9.tar.gz
#进入解压目录:
cd nginx-1.9.9
#配置:
sudo ./configure --prefix=/usr/local/nginx
#编辑nginx:
sudo make
#注意:这里可能会报错,提示“pcre.h No such file or directory”,具体详见:http://stackoverflow.com/questions/22555561/error-building-fatal-error-pcre-h-no-such-file-or-directory
#需要安装 libpcre3-dev,命令为:sudo apt-get install libpcre3-dev
#安装nginx:
sudo make install
#启动nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。
#查看nginx进程:
ps -ef|grep nginx

Nginx常用命令

阅读全文 »
HiSEN

log4j日志信息插入mysql数据库

发表于 2017-03-21 | 分类于 java

以前不知道这玩意还能直接插入MySQL数据库

我是使用IDEA,maven

具体的目录结果见github:github

log4j配置文件

阅读全文 »
HiSEN

企业邮箱签名模版

发表于 2017-03-17 | 分类于 其他

下面是源码,有些邮箱可以直接用html源码设置。

我用得是网易邮箱大师,把代码存为本地网页打开全选复制

粘贴到邮箱大师的签名里面即可!亲测有效,还挺好看的

代码如下:

阅读全文 »

HiSEN

JAVA中几种常用的RPC框架

发表于 2017-03-17 | 分类于 java

RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,

作用是有助于系统的垂直拆分,使系统更易拓展。

Java中的RPC框架比较多,各有特色,广泛使用的有RMI、Hessian、Dubbo等。

RPC还有一个特点就是能够跨语言,本文只以JAVA语言里的RPC为例。

其他的框架结构也类似,区别在于对象的序列化方法,传输对象的通讯协议,

以及注册中心的管理与failover设计(利用zookeeper)。

客户端和服务端可以运行在不同的JVM中,Client只需要引入接口,

接口的实现以及运行时需要的数据都在Server端,RPC的主要依赖技术是序列化、反序列化和传输协议,

JAVA里对应的就是对象的序列化、反序列化以及序列化后数据的传输。

RMI的序列化和反序列化是JAVA自带的,Hessian里的序列化和反序列化是私有的,传输协议则是HTTP,

Dubbo的序列化可以多种选择,一般使用Hessian的序列化协议,传输则是TCP协议,使用了高性能的NIO框架Netty。

对于序列化,我还了解一些,像Google的ProBuffer、JBoss Marshalling和Apache Thrift等

1.RMI

rmi
JAVA自带的远程方法调用工具,不过有一定的局限性,

毕竟是JAVA语言最开始时的设计,后来很多框架的原理都基于RMI,RMI的使用如下:

对外接口

1
2
3
public interface IService extends Remote {  
public String queryName(String no) throws RemoteException;
}

服务实现

阅读全文 »

HiSEN

mybatis:No constructor found in xxx matching

发表于 2017-03-17 | 分类于 java

如下错误提示:

mybatis:No constructor found in xxx matching [java.lang.Integer, java.lang.String, java.lang.Integer]

原因:xxx 这个bean缺少一个默认的构造方法!


解决:加上默认的构造方法即可


我是在单元测试的时候遇到这个问题

HiSEN

linux cal date命令详解

发表于 2017-03-14 | 分类于 linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
##显示当月的日历
hisen@ubuntu:~$ cal
March 2017
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

##指定显示1997年11月当月的日历
hisen@ubuntu:~$ cal 11 1997
November 1997
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
##显示2018年全年12个月的日历
hisen@ubuntu:~$ cal -m 12 -y 2018
2018
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31


April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30


July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30

October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
##输出当前日期
hisen@ubuntu:~$ date
Tue Mar 14 11:48:14 CST 2017
##格式化输出年月日
hisen@ubuntu:~$ date "+%Y-%m-%d"
2017-03-14
##格式化输出当前时间
hisen@ubuntu:~$ date "+%H:%M:%S"
11:49:10
##格式化输出年月日时间
hisen@ubuntu:~$ date "+%Y-%m-%d %H:%M:%S"
2017-03-14 11:49:18
HiSEN

1103 host 'xxx' is not allowed to connect to this mysql

发表于 2017-03-11 | 分类于 java

出现原因:
这是由于mysql服务端root用户所对应的客户端权限设置问题。

默认所对应的客户端地址只有localhost(也就是服务端的机器),

我们目的是任何地址都可以用root访问mysql服务端。

解决办法:

1
2
3
4
5
6
7
8
9
10
11
12
$ mysql -u root -p
#进入mysql交互界面
mysql> use mysql;
#使用mysql这个库
mysql> grant all privileges on *.* to 'root'@'%' identified by 'hisen';
#让root可以在任何ip登陆,密码为:hisen
mysql> flush privileges;
#刷新
mysql> exit;
#退出
$ service mysql restart
#重启mysql

HiSEN

Ubuntu虚拟机安装MySQL并且开启root远程访问

发表于 2017-03-11 | 分类于 sql

安装mysql很简单,关键是开启这个远程很坑!!!

一、安装

1.安装

1
sudo apt-get install mysql-server

等待完成即可,过程中需要设置密码

2.查看是否成功

1
sudo netstat -tap | grep mysql

3.登陆mysql

1
mysql -u root -p

这条命令回车之后需要输入mysql密码

二、开启远程访问

1
2
3
4
5
6
7
8
9
10
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
#找到bind-address=127.0.0.1直接注释
$ mysql -u root -p -h
#登陆mysql
mysql> use mysql;
#使用mysql这个库
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "hisen";
#把root用户改成可以在任何ip上登陆,并且密码为:hisen
mysql> flush privileges;
#刷新

重启:service mysql restart

接下来就可以在navicat里面连接了

三、注意事项

因为在网上找的很多教程,都是说改这个配置文件:这个是错误的

1
/etc/mysql/my.cf

如果是通过apt-get方式安装的,默认的是第二步那个配置文件

HiSEN

mybatis常用jdbctype

发表于 2017-03-10 | 分类于 java

Mybatis中javaType和jdbcType对应关系

JDBC TypeJava Type
CHARString
VARCHARString
LONGVARCHARString
NUMERICjava.math.BigDecimal
DECIMALjava.math.BigDecimal
BITboolean
BOOLEANboolean
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOATdouble
DOUBLEdouble
BINARYbyte[]
VARBINARYbyte[]
LONGVARBINARYbyte[]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
CLOBClob
BLOBBlob
ARRAYArray
DISTINCTmapping of underlying type
STRUCTStruct
REFRef
DATALINKjava.net.URL
1…192021…27
hisenyuan

hisenyuan

Java R & D

266 日志
33 分类
112 标签
GitHub Weibo
Links
  • 科技爱好者周刊
  • 美团技术团队
  • duanple(老师木)
  • 当然我在扯淡(王垠)
  • 段永平的博客
  • 梦殇国际
© 2016 - 2024 hisenyuan
由 Hexo 强力驱动
您是第  个访问者    |   
主题 - NexT.Mist