java
田埂上的梦i
QQ:1130005621
欢迎交聊,共同进步。
展开
-
数据权限-SpringJpa拦截示例
需求:已知系统有很多表然后在每个表都有个公共字段,比如叫租户。需要从租户来隔离数据权限比较直观的方法可能是重写Dao接口的查询,但我们大多场景可能用的JPA或mybatis,写的纯SQL语句来查询业务数据这时就需要想到使用过滤器,拦截所有查询SQL加入数据权限的过滤,这时要考虑的SQL写法就多了常见SQL写法select * from table1 t1 wheret1.field = xxx and t1.field2=bbbselect * from table12 tsg l..原创 2021-10-13 18:56:38 · 4232 阅读 · 2 评论 -
#输出频率最高且最先出现的字符#
假设有一个字符串,字符串内部的所有字符都是在ascii编码的范围内,编码求出字符串中出现频率最高的字符,如果频率最高的字符有几个字符出现的频率一样,则输出最先出现的字符。如输入串为 “hello world, every body!”,则输出频率最高且最先出现的字符。方法定义:char getMaxOccurChar(String str)输入:hello world, ever...原创 2020-04-02 21:11:14 · 562 阅读 · 0 评论 -
ORM底层封装( JDBC \ DBUtils)
.....请大神无视我!数据库 : JDBC+DBUtils数据源 : C3P0oracle驱动(可自扩展mysql驱动)源代码分享原创 2014-02-21 13:39:07 · 2203 阅读 · 0 评论 -
jquery实现左右上下移动
最近再做报表时候,直接把全部字段都导出了,但这不太灵活。回忆老师讲过的项目做报表如下左右上下移功能灵活控制,所以就尝试下咯。js代码 function selected(thiz) { var name = thiz.name; if(name=="right") $("select[name='left']").val(""); else $("select原创 2014-07-07 17:20:50 · 1835 阅读 · 0 评论 -
css选择器
1:什么是CSS选择器? \\都是一个容器,而选择器就是选择一种你在css中定义某个容器作用在html标签上,就称为选择器!2:选择器有三种: |--first:就是html选择器,以html标签为主! font { color:#ff0000; } h1{ size:3; } ...就是定义html标签,做为选择器!(理解为重写父类方法,原创 2014-02-21 22:56:30 · 1463 阅读 · 0 评论 -
使用json解决 《三级联动》(省市县) 含地区编号
1:js 比查询数据库性能更高,减轻服务器压力。2:采用灵活方案,此文章,值得参考!!!/*初始化加载所有省份*/$(document).ready(function(){ getProvince();});/** 调用示例 <select id="seleProvince" onchange="getCity(this.value)"> <option value="">省</option> </select> <select id="seleCity" onchange="ge原创 2015-04-29 23:37:18 · 70371 阅读 · 2 评论 -
占用符号索引起始值汇总
hibernate的点位符 从0开始jdbc自带的从 1开始原创 2015-05-04 14:23:32 · 1019 阅读 · 0 评论 -
struts2标签中使用三元表达式
被判断的字符串,如果使用''则被认为是char类型,而我给的gender 是string类型的,所以结果一直为flase, 慢慢调后使用字符串转义原创 2015-05-05 17:53:06 · 1144 阅读 · 0 评论 -
Jsp分页
百度的分页 已知 a: 中心页(center=第6个) b: 每页长度(size=10)推理 假设当前页:8 顺序应该是: 3 4 5 6 7 [8] 9 10 11 12 假设当前页:12 顺序应该是: 7 8 9 10 11 [12] 13 14 15 16 假设当前页: 7 顺序应该是: 2 3 4 5 6 [7] 8 9 10 11总结如下: 那么起始页 = (当前页-原创 2013-11-26 20:25:48 · 1403 阅读 · 0 评论 -
Redis学习
1:redis可以干什么?1、商品基本信息(与库存分开)、商品分类 是基本不变的,这些信息全部可以一次性加载到 redis 中,作为只读信息,直接从 redis 中查询。或者不使用 redis,而是加数据库只读从库(MySQL中可以配置memcached作为数据缓存),从从库中读取数据。2、用户登录信息(集中式 session)3、未登录的购物车信息(设置过期时间,key 保存在客户端原创 2015-05-18 20:33:54 · 1893 阅读 · 0 评论 -
Log4j参数说明及常用案例
Log4j0:导入jar包及log4j.properties配置文件 1:log4j 格式详解1.1:日志级别log4j.rootLogger=, 日志级别:ALL,不区分大小写CONSOLE:控制台注意,需在控制台输入,只需将其中一个appender定义为stdout即可注意,rootLogger默认是对整个工程生效注意,如果只想对某些包操作,那么:log原创 2015-04-28 13:08:57 · 2258 阅读 · 0 评论 -
springmvc+hibernate环境,事务细节
规范的项目的service都会继续一引起BaseService ,然而如果baseService中有数据库的操作,而子类并没有重写,那么需要在baseService上加上一个@Service 或在xml中声明 一个base,这样他才加入spring 事务管理 service 层队列中。原创 2016-01-19 16:11:12 · 812 阅读 · 0 评论 -
判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日
一开始我做这个题的时候也有点晕,因为不了解身份证的规则,如果知道身份证的格式的话,做这个题就简单了。 已知条件: 1:只能是15位或18位,且最后一位可以是数字或大小不分的字母 2:7-12位出生年月日,比如670401代表1967年4月1日,与18位的第一个区别; 思路: 1:正则校验身份证类型,长度,及后续字符 2:如果长度为15,则截取7-12的字符,返回即截取7-14的字符; 3:输出日期。原创 2016-03-27 21:05:53 · 4031 阅读 · 3 评论 -
ajax 跨域访问
之前一直只知道有跨域这一说,但并没有在项目中实战过。就在昨日有一个小需求就需要用到跨域。因此将实战的结果记录下。跨域原理:ajax不能请求非当前服务之外的服务。原创 2017-05-07 09:26:35 · 591 阅读 · 1 评论 -
java与c#使用Socket实现局域网聊天
补充:1:上传下载文件、聊天表情、私聊、踢人.......都是可以扩展的功能。只是目前还没有可执行的思路,希望有相同爱好者多多提出宝贵意见。我会继续关注。原创 2014-06-29 17:31:42 · 2115 阅读 · 3 评论 -
tomcat虚拟服务配置
1:为什么把端口号设置为80,就不需要手动再输入端口号了? 因为每个浏览器,会根据你访问url域名时,校验你如果没有输入端口号,它会默认给你加上80这个端口号(默认设置的)!2:缺省目录和虚拟目录各是什么,有什么区别? 缺省目录: 1:当你输入一个域名后,配置的缺省目录就会执行(前提是你先正常配置),去访问指定页面! 2:它配置的工程文件,修改后,服务器会自动加载!但xml文件修改,必须重启! 虚拟目录: 1:也就是客户端访问服务器的url虚拟路径,服务器再根据url路径在servle原创 2014-01-07 21:59:22 · 1288 阅读 · 0 评论 -
JBPM基础知识
1:什么是工作流? |--就是将工作的流程通过程序管理起来,以表单审核和任务办理为主体,实现办公自动化! 个人理解:将一些复杂的业务流程,采用JBMP来管理。但JBMP也需要人员去维护!2:什么是JBPM? |--业务流程管理 |--通过png图形方式来描述业务流程,自动根据图形流程生成相应的xml文件! * |--JBPM采用XML结构的流程描述语言JPDL来描述工作流程!* |原创 2014-01-07 22:06:07 · 1343 阅读 · 0 评论 -
eclipse笔记
1:在eclisp中配置tomcat a:导入tomcat插件包把com.sysdeo.eclipse.tomcat_3.3.0添加到E:\workFile\tool\eclipse\plugins 文件中(解压后) b:启动eclisp,就会在Preferences---------->再点击Tomcat---->选择与你安装的Tomcat版本(如果没有跟你匹 配的版本,则特定是你的原创 2013-12-30 16:24:39 · 1196 阅读 · 0 评论 -
java实现Img与PDF相互转换
package com.test;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.Input原创 2014-06-07 20:45:15 · 4571 阅读 · 6 评论 -
java基础之zip(压缩、解压)
本程序依赖第三方包Ant.jar。因为java自带的java.utils.zip.ZipOutputStream对一些敏感中文路径会抛出异常。package javax.zip;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOExce原创 2014-07-27 15:18:43 · 1108 阅读 · 0 评论 -
实现不用循环,删除集合中的重复(任意)元素
package cn.huizhi.tool;import java.util.ArrayList;import java.util.List;/** * * @author hubiao * @version 1.0 * @time 2013-12-26 * * 实现任意删除集合 中的对象 * 已知:list中有4个学生对象, *原创 2013-12-26 01:32:39 · 1184 阅读 · 0 评论 -
java基础之【堆、栈、方法区】结构图
/** * 执行流程 * 1:Person p1 = new Person(); * 1.1:在栈内存中创建p1变量,存储类型为Person; * 1.2:在堆中new Person();加载Peronst中的所有属性和方法; string默认值null;int默认值0 * 1.3:在方法区中开辟一块区域,加载所有Peronst的所有方法,标记为Peronst对象。将生成的地址值[0x321]赋给堆中Peronst区域的方法引用; * 1.4:将生成一个区域十六进制原创 2014-08-07 00:21:25 · 3304 阅读 · 4 评论 -
装饰模式(旧恋)
|--什么是装饰模式。装饰模式:是你还是你,一切拜托你(借用老崔经典词)。它是由继承出现的,先有继承,再有装饰。回忆继承 好处:提高复用性,让可以重复使用,通过方法重写利用后期扩展。 坏处:由于类与类之间的继承关系,但他们关系增强,耦性也就高了。不符合java宗旨:低耦合,高内聚。对比如下:a: 有一个Witer体系|--TxtWrite|-原创 2014-08-30 00:31:03 · 1311 阅读 · 0 评论 -
String常量池
String st = "hello"; st+="word"; System.out.println(st);分析如下:1:String st = "hello"; 1.1:先在栈中开辟一块区域,定义一个变量,变量类型为String,变量名为st 1.2:在方法中的常量池中先找有没有hello这个值。如果有则直接引用过来。反之即如下继续。 1.3:在常量池中开辟一块区域,地址值为0x11; 1.4:java加载字符串是一个一个字符加载的,并且在加载时,都会先去常量池中有一个记录池,它里原创 2014-08-24 10:59:56 · 952 阅读 · 0 评论 -
递归阶乘
递归阶乘原创 2014-08-26 22:57:51 · 1224 阅读 · 0 评论 -
java基础之【继承--->多态】内存图
1:Animal a = new Cat(); 1.1:在栈中创建区域,类型为Animal,变量名:a; 1.2:在堆中new Cat();占用一块区域。地址值:[0x3a4] 1.3:spuer()实例化父类Animal。 1.3.1:new Animal();占用一块区域,地址值:0x3ab; 1.3.2:引用着在方法区中初始化[Animal中的所有方法,该引用为:[0x754]]。 1.3.3:将Animal()引用赋给spuer();spuer引用着Animal(); 1.4:在原创 2014-08-12 22:55:20 · 3838 阅读 · 3 评论 -
古典问题:关于兔子的生命周期。
* 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 *对兔子,假如兔子都不死,问每个月的兔子总数为多少? * *已知开始已有一对兔子(A), * 第1个月:A兔子 =1对 * 第2个月:A兔子 =1对 * 第3个月:大兔子A生了小兔子B =2对 * 第4个月:大兔子A生了小兔子C, A+B+C=3对。。 注:兔子满3个月后,就每月都生一对。 * 第5个月:大兔子A生了小兔子D,大兔子B(满3个月)生了小兔原创 2014-08-26 23:10:18 · 3902 阅读 · 0 评论 -
java集合总结
1:Collection集合体系(掌握) Collection(add,remove,contains,size,iterator) |--List(有序,可重复 add(index),get(index),set(index),remove(index)) |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 |--Vecto原创 2013-12-15 12:31:00 · 836 阅读 · 0 评论 -
简单封装Lucenene的IndexWriter、IndexSearcher对象
1:简单封装Lucenene的IndexWriter、IndexSearcher对象2:不用反复创建再调用再传递对象。3:简化doucment与javabean对象的相互转换原创 2014-03-22 21:27:08 · 1605 阅读 · 0 评论 -
灵活封装Struts2的action类
/** * struts的Action工具类 * 1:使用action继续此类,只需要传递模型对象,即可。 * 2:拥有request,response,context * 3:子类调用getModel();可获取到 表单封装数据后模型对象。 * * @param <T> 模型对象 */原创 2014-02-23 22:56:47 · 1757 阅读 · 0 评论 -
Jsp+servlet 验证码案例
昨晚在csdn看到一位前辈写一个ajax+servlet+jsp验证,顿时心血来潮,在前辈的代码下我做出了如下简单好用的小 验证码生成器Demo,供大家做个参考。1:添加VeriyCodeUtils类生成验证码图像package com.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graph原创 2014-06-21 14:48:57 · 1248 阅读 · 0 评论 -
html基础标签
<!-- 表单标签的使用: form:表单标签,用于和服务器进行交互。 属性: action:跟的是表单提交的服务器的地址。servlet,jsp method:表示表单的提交方式。get和post提交。建议使用post提交。 get提交把值都显示在地址栏上,但是效率高。 post效率低,安全性高。 在form标签嵌套中,使用i原创 2014-01-05 20:10:11 · 921 阅读 · 0 评论