喜欢研究技术的码农
1、当在select语句中,同时使用where、group by和having子句时,它们的作用和执行顺序如下: (1)where用于筛选由from指定的数据对象 (2)group by用于对where的结果进行分组 (3)having用于对group by分组后的数据进行过滤 2、count(*)与count(columnName|columnIndex)的区别: count(*)会统计表中的null计算在内,而count(columnName|columnIndex)会忽略对应字段的null记录。
数据的完整性就是指数据库中的数据在逻辑上的一致性和准确性。数据完整性一般分为3种:域完整性、实体完整性和参照完整性。完整性约束是通过限制列数据、行数据和表之间的数据来保证数据的完整性。
1、同义词: 在分布式数据库环境中,为了识别一个数据库对象,必须规定主机名、服务器名、对象的拥有者和对象名。这无疑增加了访问者的访问难度。为了给不同的用户使用数据库对象时提供一个简单的、唯一标识数据库对象的名称,可以为数据库对象创建同义词。
在查中文字典的时候,我们之所以能够很快的查到所要查找的字是因为字典建立了索引。同样,为了高效的获取数据,在数据量比较大的时候,我们需要给表中的某一列建立索引。 建立索引的作用是明显的,主要有: 1、快速存取数据 2、改善数据库性能,保证列值的唯一性 3、在使用order 按照存储方法可以将索引分为B*树索引和位图索引。
(1)创建表的基本语法如下: create table tableName(columnName dataType [default expression][column columnStraint],.
1、表空间:表空间是数据库的逻辑划分,一个表空间只属于一个数据库。每个表空间由一个或多个数据文件组成。 表空间中其他逻辑结构的数据存储在这些数据文件中。在Oracle安装完成后,会自动建立多个表空间, 主要有: (1)System表空间:该表空间用于存放Oracle系统内部表和数据字典的数据,如表名、列名、用户名等。
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合条件的一个元素 3.
利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令。 MySql导出数据库的命令如下: mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName >...
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。
基础部分可以查看我的另一篇博客:http://elim.iteye.com/blog/1333271 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。
基础部分可以查看我的另一篇博客http://elim.iteye.com/blog/1333271 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。
每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 。SqlSessionFactory本身是由SqlSessionFactoryBuilder创建的,一般而言,在一个应用中,一个数据库只会对应一个SqlSessionFactory,所以一般我们都把SqlSessionFactory定义成单例模式,或通过Spring等进行注入。
解决方法有: 1.将fetchType改为懒加载 2.加上注解@Fetch(FetchMode.SUBSELECT) @Fetch(FetchMode.SUBSELECT) public List getModels() { return this.
Hibernate Search是在apache Lucene的基础上建立的主要用于Hibernate的持久化模型的全文检索工具。像Lucene这样的检索引擎能够给我们的项目在进行检索的时候带来非常高的效率,但是它们在基本对象的检索时会有一些问题,比如不能实现检索内容跟实体的转换,Hibernate Search正是在这样的情况下发展起来的,基于对象的检索引擎,能够很方便的将检索出来的内容转换为具体的实体对象。
一直以来都知道Struts2的OGNL支持在前台调用后台的静态方法,以前也用过,但用的比较少,今天自己重新开始了一个新的项目,在实现一个功能的时候用到了Struts2的在前台调用后台的静态方法,弄了半天没有出来结果,原来是自己没有在Struts的配置文件里面申明可以在前台使用后台的静态方法,故写出来供自己以后参考参考,并以此为教训。
我们经常会使用WinZIP等压缩软件将文件进行压缩以方便传输。在java里面也提供了将文件进行压缩以减少传输时的数据量的类,可以很方便的将文件压缩成ZIP、JAR、GZIP等形式,GZIP主要是在Linux系统下的压缩文件。
RandomAccessFile是属于随机读取类,是可以对文件本身的内容直接随机进行操作的,可以在文件的指定位置 的读取和写入内容,这在很多时候都是很方便的。 import java.io.
权限控制是每一个系统都应该有的一个功能,有些只需要简单控制一下就可以了,然而有些却需要进行更加深入和细致的权限控制,尤其是对于一些MIS类系统,基于方法的权限控制就更加重要了。 用反射和自定义注解来实现基于struts2的方法级别的权限控制的主要思想是这样的。
查看JasperReport的api可以知道,JasperReport给我们提供了丰富的数据源,其中BeanCollectionDataSource是一个比较常用的数据源。正如其名,BeanCollectionDataSource是把一个装满Bean对象的Collection作为数据源,在JasperReport的模版中定义的每一个Filed就相当于Bean对象的一个Filed。
先看看设计的报表样式: reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed。IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该parameter托到右边的设计栏中。
在上一篇博客里面已经讲了IReport设置数据源的问题。在本博客中将讲述如何使用数据源。 这个时候就可以从左边的Fileds中选择相应的Filed托到右边的设计页面中 生成的预览界面: 对应的xml文件: ...
JasperReport是一个用纯Java写的方便开发报表功能的开源软件。JasperReport的模版是类似于xml的格式,但是扩展名却是.jrxml。利用该模版就可以编译成.jasper文件,JasperReport就可以通过该.jasper文件生成相应的报表。
在本篇博客中,我主要会讲两个方面的内容,第一个是实例变量与类变量的区别,第二个是实例方法与类方法的区别。大家应该都知道,用static修饰的方法是类方法,用static修饰的变量是类变量。
spring的bean的scope主要是用来指定如何创建bean对象的,系统已经实现的主要有五中类型,分别是:singleton、prototype、request、session和globalSession,其中request、session和globalSession是只能在web环境中使用的 ,当你在非web环境中使用它们时,系统会抛出IllegalStateException异常, 当然这个也是可以自己进行定义的。
自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 WebBindingInitializer,然后定义一个 AnnotationMethodHandlerAdapter的bean,在此bean里面进行注册 ,这种属性编辑器是全局的。
无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很有必要了。跟其他MVC框架一样,springMVC也有自己的异常处理机制。
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明。
Lucene的简单使用:在进行检索的时候是需要原来已经创建了索引才能检索到需要的内容的。所以在使用Lucene的时候大体就是两个方面,建立索引和检索,其次就是一些不能的策略了! 1.
前面在做项目的时候,有一个需求是需要上传图片的,然而该图片只是简单的展示一些信息,不需要很大,所以在上传图片的时候改变图片的大小就显得很有必要了!然后就写了下面这个方法来改变图片的大小! /** * 改变图片的大小到宽为size,然后高随着宽等比例变化 * @p...
以前使用svn的时候会只建一个仓库,然后把所有的项目都放在一个仓库里面。虽然这样也可以实现版本控制,但是随着项目的增多就会发现一个问题,因为整个仓库是有一连串的版本号的,然后项目又是交替进行的,这样就出现了单个仓库版本号断层的问题。
在javaMail中整个邮件是由一个一个的BodyPart组成的,每一个BoydPart的内容可以是简单的普通文本,或超文本,或是一个附件,也可以是复杂的一个Multipart,然后Multipart中又可以嵌套多个BodyPart和Multipart。
我所使用的SpringMVC是基于注解的,Controller是用@Controller注解标记的,而service和dao都是用的@Component标记的,由于配置上的一点小失误导致事务没有加上去,所以才会提示FlushMode为只读。
今天在项目中有这样一个需求,就是需要把table1里面的a,b,c三个字段通过按a,b分组,对c进行汇总,然后插入到table2中的a,b,c中,然后我就这样写的SQL语句: insert into table2(a,b,c) select a,b,sum(c) c from table1 group by a,b; 这样一写,问题又出现了table2有个主键id,但不是自增长的,需要在插入的时候自己给主键设值。
在使用jquery进行事件处理的时候,当从里到外的多层都响应某一事件,然后又在里层发生该事件时,jquery默认是会从里到外依次响应各个事件的,然而有时候这并不是我们所需要的。这个时候就需要我们来阻止外层事件的发生,阻止冒泡。
使用javaMail收邮件主要有两种协议,一种是pop3,一种是imap。这两种协议都可以用来收邮件,但是在其中的处理上是有区别的。pop3是不支持判断邮件是否为已读的,也就是说你不能直接从收件箱里面取到未读邮件,这需要自己进行判断,然而imap就提供了这样的功能,使用imap时可以很轻松的判断该邮件是否为已读或未读或其他。
代码如下: public static void main(String args[]) throws AddressException, MessagingException { Properties props = new Properties(); props.
1.设置滚动条的颜色 .row { scrollbar-face-color:#C00;//滚动的颜色 scrollbar-highlight-color:#F60;//滚动条高亮时的颜色 scrollbar-3dlight-color:#F00;//滚动...
unknown downloadFile attachment;filename="${downloadFileName}" 4096 ...
最近做了一个帐套管理的一个功能,需要进行帐套初始化,在初始化的过程中,需要新建一个数据库,同时把上一个帐套的数据库里面的表的表结构全部拿出,在新数据库中全部新建,同时,有些信息在前一个帐套中是需要保留的,如一些基本信息和账目信息,这个时候就会出现表数据的拷贝和更新操作了。
在生成xml文件指定生成的目的地和文件的输出方式时,如果使用的是Writer,那么在生成的xml中含有中文的时候会出现中文乱码,此时就只能使用OutputStream了,因为Writer遇到中文的时候不知道该如何解析。
控制文本框只能输入数字是一个很常见的需求,比如电话号码的输入、数量的输入等,这时候就需要我们控制文本框只能输入数字。在用js控制之后在英文输入法的状态下去敲击键盘上的非数字键是输不进去的,然而当你转到中文输入法的时候输入的是中文,再按空格或回车键,中文或英文字母就输进去了,这时候就需要我们在文本框得到焦点的时候把输入法关闭,就是不响应输入法的切换。
此篇博客主要是记录一些我在实际运用中还不是很熟练的一些知识点的! 1.获取指定document内容中的某一元素: $("#id",window.document.mainArea.document);此句就表示获取页面内一个为mainArea的iframe里面id为id的元素。
我使用js在父子之间进行传值主要是通过在子窗口调用父窗口的方法来实现传值的目的。 parent.html parent.html function openWin() { ...
我们都知道连接MySQL一般用的语句就是 jdbc:mysql://localhost:3306/database, 但是当你要连接到其他机器上的mysql的时候,单单把上面的语句的localhost改成对应的ip是没有用的,因为Mysql默认开放的连接权限是localhost,当你需要连接到其他机器上的时候,需要其他机器上的MySQL开启除本地以外的其他ip连接的权限。
对数据进行加密是一个很常用的需求,因为我们经常要进行各种各样数据的校验和数据的传输,在校验的过程中我们往往是不希望用户看到真实的数据的,因为那样在某些情况下就失去了校验的意义了,所以对数据进行加密是一个很平常的需求。
1.实现一个方法将一个字符串的奇数位取出,如传的是ahbhchd,就返回abcd public class Test { public static void main(String args[]) { Test t = new Test(); String result = t.
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.
以前在web环境下想直接读取spring的applicationContext,发现放在WEB-INF下的applicationContext.xml不能直接通过相对路径读取到,也就是说不能通过第一种方式读取到,第一种方式只用于进行单元测试的,而且一定要是在web项目部署后的绝对路径才行。
uploadInput页面: 上传照片 var swfu; window.
var obj = CKEDITOR.replace("content"); 取值: obj.getData(); 设值: obj.setData("value");