自定义mybatis的拦截器+Memcached+treeNMS

一.自定义mybatis拦截器

第一步:实现Interceptor接口

public interface Interceptor {
//拦截之后需要执行的方法
Object intercept(Invocation invocation) throws Throwable;
//返回代理对象
Object plugin(Object target);
//设置拦截器 运行的一些参数
void setProperties(Properties properties);
}
		package com.oracle.util;
		import org.apache.ibatis.executor.statement.StatementHandler;
		import org.apache.ibatis.plugin.*;
		import org.apache.ibatis.reflection.MetaObject;
		import org.apache.ibatis.reflection.SystemMetaObject;
		import java.sql.Connection;
		import java.sql.Statement;
		import java.util.Properties;
		//MybatisInterceptor类会拦截 mybatis执行过程中给的sql语句
		//前提是需要将 MybatisInterceptor 注册为一个拦截器【mybatis-config.xml中配置】
		@Intercepts({
		@Signature(type = StatementHandler.class, method = "prepare", args =
		{Connection.class, Integer.class
		})
		})
		public class MybatisInterceptor implements Interceptor {
		@Override
		public Object intercept(Invocation invocation) throws Throwable {
		StatementHandler sh = (StatementHandler) invocation.getTarget();
		MetaObject mo = SystemMetaObject.forObject(sh);
		//获得了运算后的sql
		Object value = mo.getValue("delegate.boundSql.sql");
		System.out.println("OracleSqlInteceptor-->>" + value);
		return invocation.proceed();
		}
		@Override
		public Object plugin(Object target) {
		return Plugin.wrap(target,this);
		}
@Override
public void setProperties(Properties properties) {
}
}

配置拦截器

<!--配置mybatis的插件-->
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<!--此类可以动态拦截运行的sql,并且修改sql,进行拦截后的分页增强-->
<!-- <plugin interceptor="com.github.pagehelper.PageInterceptor">
</plugin>-->
<plugin interceptor="com.oracle.util.MybatisInterceptor"></plugin>
</plugins>

测试,随意测试Mapper中的方法,在控制台中均可以查看到 mybatis运行过程中的sql语句

OracleSqlInteceptor-->>select
goods.gid as goods_gid, goods.gname as goods_gname, goods.gcount as
goods_gcount,
goods.gprice as goods_gprice, goods.gdes as goods_gdes
from goods

这些sql语句你就可以更改,已达到自己的需求。

二.Memcached

安装

首先下载Win下的Memcached,解压到指定目录。

​ memcached.exe -d install 安装memcached服务

​ 然后通过Memcached start memcached就启动了。

常用命令:

​ -p 监听的端口
​ -l 连接的IP地址, 默认是本机
​ -d start 启动memcached服务
​ -d restart 重起memcached服务
​ -d stop|shutdown 关闭正在运行的memcached服务
​ -d install 安装memcached服务
​ -d uninstall 卸载memcached服务
​ -u 以的身份运行 (仅在以root运行的时候有效)
​ -m 最大内存使用,单位MB。默认64MB
​ -M 内存耗尽时返回错误,而不是删除项
​ -c 最大同时连接数,默认是1024
​ -f 块大小增长因子,默认是1.25
​ -n 最小分配空间,key+value+flags默认是48
​ -h 显示帮助

xmemcached 客户端简单代码示意

public static void main(String[] args) {
    MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses("127.0.0.1:11211"));
    MemcachedClient memcachedClient;
    try {
        memcachedClient = builder.build();
        //第二个参数为存活时间,0 是不过期,单位为 秒
        memcachedClient.set("hello", 10, "Hello,xmemcached");
        String value = memcachedClient.get("hello");
        System.out.println("hello=" + value);
        memcachedClient.delete("hello");
        value = memcachedClient.get("hello");
        System.out.println("hello=" + value);
        // close memcached client
        memcachedClient.shutdown();
    } catch (Exception e) {
        System.err.println("MemcachedClient operation fail");
        e.printStackTrace();
    }

}

三.treeNMS



说明:

1、将压缩文件解压.

2、双击 bin\startup.bat,运行Tomcat

3、打开浏览器,输入http://127.0.0.1:8086/treenms

4、默认用户名:treesoft,密码:treesoft ,用户:admin,密码:treesoft

5、登录后,点击右上角“参数配置”按钮,新增或修改连接参数,测试连接成功后,保存参数并刷新页面即可。

6、程序文件中已包括windows版本的JDK1.7, tomcat7.0, 以及treenms项目。

7、treeNMS-x.x.x\webapps\treenms目录内容为编译后的项目,可以直接复制出来,发布到Linux服务器上。
   Linux服务器的Tomcat,JDK请自行安装。MAC系统请安装相应版本JDK

8、点击左侧数据仓库,将在主页面展示数据列表信息。

9、本系统支持多个redis,memcached数据库并存,方便集群管理。

10、本系统支持windows, linux ,mac等操作系统。

11、本系统支持PC端,平板端,手机端登录使用。

12、未购买授权,本公司不承担因使用不当造成的任何经济损失!

13、布署后建议将项目名treenms修改掉,防止破解渗透入侵。

功能:

    TreeNMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,
实现基于WEB方式对 Redis,Memcache 缓存数据库进行维护管理操作。

    功能包括:系统的状态实时监控,数据库的展示,库表的展示,缓存数据的展示,查询,新增,修改,删除等,数据的在线编辑维护,
数据的备份还原 ,实时状态监控展示,JSON数据格式化,SQL语法帮助,在线数据源选择配置等。系统内置14套UI皮肤,使用中可以依个人喜好选择配色方案。

   本系统不但稳定,实用,功能强大,交互友好,而且介面美观,可自由选择皮肤配色,推荐大家使用!


                                  

常见问题

 
常见问题:

1、报错信息:取NoSQL数据出错:ERR SELECT is not allowed in cluster mode
   问题原因:redis集群版只使用db0,select命令虽然能够支持select 0。其他的db都会返回错误,属于正常现象。

 
2、登录页中的验证码 ,显示乱码,无法识别,是由于部分Linux操作系统缺少Arial字体导致的,请安装即可。  
    解决方法:把window上的该字体上传到{JAVA_HOME}/jre/lib/fonts下重启tomcat即可


3、登录页,验证码不显示,
   问题原因:是因为linux jvm没有启用图形工具
     报错 Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. 
   解决办法
     JAVA_OPTS=-Djava.awt.headless=true 

   tomcat 的 catalina.sh 加上这段话:
     echo "Using CATALINA_BASE:   $CATALINA_BASE" 
     echo "Using CATALINA_HOME:   $CATALINA_HOME" 
     echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR" 
     echo "Using RUNJAVA:       $_RUNJAVA" 
     echo "Using JAVA_OPTS:  $JAVA_OPTS" 

4、部分用户使用TreeNMS,发现数据显示乱码
   问题原因:由于用户程序写入的数据进行序列化,或加密后写入造成的。
   解决方法:这个属于正常现象,用户可以自行明文新增一行数据对比一下。

 
 5、Tomcat8.5.11以上的高版本会出现CSS样式加载失效的情况,导致页面异常,请使用8.5.11及以下版本。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java版本phpmyadmin,java数据库管理,web版数据库维护。 本系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对数据库进行维护。 功能包括:数据库的展示,库表的展示,表字段结构的展示, SQL语句的在线编辑批量执行,表结构的在线设计维护,数据的在线编辑维护,查询语句保存,SQL语法帮助,在线数据源选择配置等。 系统内置14套UI皮肤,45套代码编辑区UI方案,使用中可以依个人喜好选择配色方案。 本系统不但稳定,实用,功能强大,交互友好,而且还很好玩,可自由组合各种色彩,让维护数据库成为一件舒心的事情。 功能介绍: 1、在SQL编辑区可直接编辑语句,对数据库进行操作维护。支持多语句批量执行,支持选择执行,支持关键字高亮提示,支持多结果展示。 2、选择左侧库表后,将直接查询表数据,并展示出来。可通过新增、编辑、删除按钮对表数据进行维护。也可直接双击行,进行数据编辑,操作十分方便。 3、通过点击“设计”按钮,将切换到表结构设计页,您可以方便的增加、修改、删除表字段,调整字段顺序,设置主键,设置非空等操作。 4、当你编辑了许多SQL语句后,可点击”SQL保存”按钮,保存自己的劳动成果,通过右侧“我的SQL”列表,可查询到保存记录。 5、系统内置14套UI皮肤,45套代码编辑区UI方案, 可自由设置组合,深色的屏幕有助保护视力。 福州青格软件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值