Java编程
文章平均质量分 65
communicate_
这个作者很懒,什么都没留下…
展开
-
多表连接查询
多表查询常涉及到到表连接的问题,主要涉及到内连接:INNER JOIN,外连接:LEFT JOIN(or LEFT OUTER JOIN),RIGHT JOIN(or RIGHT OUTER JOIN),FULL JOIN和交叉连接:CROSS JOIN。INNER JOIN也叫等值链接。内连接具有排他性,而OUTER JOIN却是包容性的。表连接进行查询都是会产生一张中间的临时表,然后再原创 2013-03-21 14:53:05 · 1605 阅读 · 0 评论 -
JAVA分页实现(代码)
package com.page;public class PageUtil { // 每页显示的条数 private int pageSize; // 总共的条数 private int recordCount; // 当前页面 private int currentPage; public PageUtil(int pageSize, int recordCou原创 2013-01-03 22:09:15 · 34635 阅读 · 2 评论 -
sql优化策略
1、尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。2、不用NOT IN操作符,可以用NOT EXISTS或者外连接+(外连接+判断为空)替代。3、不用“”代替。例如:a0 or a’ ’ 改为 a>’ ’4、Where子句中出现IS NULL或者IS NOT NULL时,Oracle会停止使用索引而执行全表扫描。可以考虑在设计表时,对索引列设置为NOT N原创 2012-12-31 00:25:07 · 1612 阅读 · 1 评论 -
Spring配置文件总结
首先来看一个标准的Spring配置文件applicationContext.xml:http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/原创 2012-12-30 18:12:16 · 647 阅读 · 0 评论 -
在Hibernate应用中批量更新和批量删除
批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据。以下程序直接通过Hibernate API批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段:tx = session.beginTransaction();Iterator customers=session.find("from Customer c where c.age>0").iter原创 2012-12-30 15:44:28 · 1132 阅读 · 0 评论 -
Spring三种实例化Bean的方法
1.实例化bean的三种方法:(1) 构造器 对应类public PersonServiceBean(String name, IDaoBean personDao) { this.name = name; this.personDao = personDao; } lazy-init="true" init-method="i原创 2012-12-30 23:20:51 · 1542 阅读 · 0 评论 -
Spring对事务的支持
一, JDBC事务管理Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction management),为不同的事务实现提供了一致的编程模型,这节以JDBC事务为例,介绍Spring的事务管理。二, Spring对事务的支持事务是一组原子(Atomic)原创 2012-12-30 17:01:14 · 1160 阅读 · 0 评论 -
HibernateDaoSupport详解(增删改查时Dao常用)
一,Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供了两个方法:public final HibernateTemplate getHibernateTemplate() ;public final void setSessionFactory(SessionFactory sessionFactory) ;其中,setSessi原创 2012-12-30 14:55:17 · 5870 阅读 · 1 评论 -
JDBC的批处理操作三种方式
SQL批处理是JDBC性能优化的重要武器,经本人研究总结,批处理的用法有三种。 package lavasoft.jdbctest;import lavasoft.common.DBToolkit; import java.sql.Connection; import java.sql.PreparedStatement; import java原创 2012-12-31 00:15:52 · 1173 阅读 · 0 评论 -
HibernateDaoSupport与JdbcDaoSupport总结
Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结:一、在Spring框架中实现连接数据库方式:1、、借助类HibernateDaoSupport的简约化实现:借助这个类必须需要HIbernate框架,用到原创 2012-12-30 17:48:41 · 956 阅读 · 0 评论 -
hibernate属性详解
20 Hibernate 会话厂 SessionFactory Session 就是用于每次与数据库会话的,因此需要: 数据库的配置参数,这些参数就是 上面的数据源指定的! 因此我们只需引用即可: ref="dataSource"; 实体映射配置 hibernate.cfg.xml 配置原创 2012-12-30 15:58:00 · 1312 阅读 · 0 评论 -
关于hibernate中对象的三种状态分析
一,首先hibernate中对象的状态有三种:瞬态、游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save()、saveOrUpdate()、get()、load();持久态到瞬态的方法有delete();游离态到持久态的方法有update()、saveOrUpdate()、lock();持久态到游离态的方法有:session.close()、session.原创 2012-12-30 15:08:54 · 22779 阅读 · 3 评论 -
hibernate中多对一、一对一、一对多、多对多的配置方法
hihernate一对多关联映射(单向Classes----->Student)一对多关联映射利用了多对一关联映射原理多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多也就是说一对多和多对一的映射策略是一样的,只是站的角度不同在一一端维护关系的缺点: * 如果将t_studen原创 2012-12-27 21:55:51 · 9029 阅读 · 1 评论 -
spring归纳总结(理论)
※1.spring是一个用于简化采用java语言进行企业及开发的分层框架,一个程序可以分为表现层、业务层、持久层和域层,表现层一般采用struts2,struts中的①jsp、html②form③tag标签④actionservlet(控制器)⑤配置文件web.xml和struts.xml⑥action(二级控制器);主要工作是: (1) 表示逻辑(生成界面代码) (2) 接收请求原创 2012-12-12 23:17:42 · 1463 阅读 · 0 评论 -
cookie与session的运行机制
首先说明一点就是cookie是存在客户端的,session是存在服务端的,同时session的运行也是基于cookie的,其原理就是:当客户端访问服务端时,服务端就会为每个客户端分配一个id,同时这个id会通过cookie写给客户端,保存在客户端的就是cookie,当客户端再次访问服务端时,服务端就会根据客户端的id找到相对应的session,这个session没有失效时间,所以只要客户端的浏览器原创 2012-12-24 20:57:08 · 900 阅读 · 0 评论 -
Web Service入门
1. Web Service的定义 目前对Web Service没有统一的定义,定义一:Web Service是自包含的、模块化的应用程序,它可以在Web中被描述、发布、查找以及调用。定义二:Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼任的组件进行操作。定义三:所谓Web Service是指由企业发原创 2013-01-05 22:57:43 · 827 阅读 · 0 评论 -
为什么静态成员不能访问非静态成员(原理)
首先static的成员是在类加载的时候初始化的,JVM的CLASSLOADER的加载,首次主动使用加载,而非static的成员是在创建对象的时候,即new 操作的时候才初始化的;先后顺序是先加载,才能初始化,那么加载的时候初始化static的成员,此时非static的成员还没有被加载必然不能使用,而非static的成员是在类加载之后,通过new操作符创建对象的时候初始化,此时static 已经原创 2013-03-16 17:09:37 · 1421 阅读 · 0 评论 -
SQL各种连接查询详解(左连接、右连接..)
一、交叉连接(cross join)交叉连接(cross join):有两种,显式的和隐式的,不带on子句,返回的是两表的乘积,也叫笛卡尔积。例如:下面的语句1和语句2的结果是相同的。语句1:隐式的交叉连接,没有cross join。select o.id, o.order_number, c.id, c.namefrom orders o , customers cwhe原创 2013-03-14 23:42:16 · 6181 阅读 · 0 评论 -
java面试关于数学除法面试题两例
一,如何判断一个长字符串能否被一个数整除(注意:长字符串很长,不能转换为整数)代码:bool devString(const char *str, int devnum){assert((str != NULL) && (devnum != 0));int tmp = 0;while(*str != '/0'){ if ((*str > '9') || (*str原创 2013-03-12 21:57:22 · 1392 阅读 · 0 评论 -
关于JDBC中ResultSet接口的一点细节探究
1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是rs对象不会为null,而不是其包含的result2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用while(rs.next())或者if(rs.next())时就不用判断rs != null;3、rs.next时,游标最先是指向第一条记录前的位置,所以第一次rs.原创 2013-03-09 10:45:25 · 1594 阅读 · 0 评论 -
spring+hibernate+struts2整合方案(1)
Struts2和Spring的整合:1. 添加jar包(注意包冲突), 另外需要注意一定要加入struts2-spring-plugin.jar包2. 添加各自的支持文件(struts.xml和applicationContext.xml)3. 配置web.xml (1) 配置spring初始化所需要的启动参数(可以使用通配符,如有多个文件可用,隔开)原创 2013-03-06 14:39:36 · 1926 阅读 · 0 评论 -
spring+hibernate+struts2整合方案(2,整合细则)
运用三大框架,使用MyEclipse帮我们导入jar包会发现有些包冲突了或者有些包是多余的,让我们来手动配置三大框架吧!1、下载三大框架的必备的jar包,下载地址:http://download.csdn.net/detail/harderxin/44200662、新建一个web工程SSHTest,将jar包导入到工程中,注意导入进去后在WEB-INFO目录的lib文件夹中要有相应的jar原创 2013-03-06 21:00:56 · 4692 阅读 · 0 评论 -
oralce rownum 分页
oracle 分页1.SELECT * 2. 3.FROM 4. 5. (SELECT A.*, ROWNUM RN 6. 7. FROM 8. 9. (SELECT * 10. 11. FROM tb_news 12. 13. wh原创 2013-01-20 16:23:13 · 1412 阅读 · 4 评论 -
jdbc之使用占位符的增删改查
package com.hanchao.jdbc;import java.sql.Connection;import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet; /** * jdbc学习总结二 * @author hanlw * 2012-07-09 */原创 2013-01-10 00:36:13 · 24728 阅读 · 0 评论 -
反射机制详解
反射基石--Class类,首字母大写;这是一个类;反射就是把java类中各种成分映射成相应的java类。java程序中的各种java类,它们是否属于同一事物,是不是可以用同一个事物来描述这类事物呢?这个类名字就是Class类;JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方原创 2013-01-10 00:11:35 · 1891 阅读 · 2 评论 -
common-fileupload上传文件
需要commons-fileupload.jar和 commons-io-1.2.jar包注意:commons-fileuplaod1_2与1_1区别 如下:改为改为1.index.jsp文件 contentType="text/html; charset=utf-8"%> 上传图片原创 2013-01-09 23:51:17 · 888 阅读 · 1 评论 -
设计模式之:解剖观察者模式
为了便于理解,首先我举一个现实生活中的例子:在快乐男生比赛过程其实就是观察者的一个体现,可以这样说吉杰是一个被观察者,而杨二,包小柏,还有巫启贤就是3个观察者,被观察者操作(唱歌)时,观察者们就开始操作(评分),被观察者唱歌就是通知观察者们进行评分。GoF说道:Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更原创 2013-01-07 00:12:12 · 614 阅读 · 0 评论 -
struts2_core NOTE
1.过去的开发模式是:一,创建表,二,创建实体类(pojo),三,建立DAO,四,JSP/Servlet,但是有了struts2框架后就使用MVC模式,model层包括entity实体bean,dao和service,view层只是简单地不含逻辑代码的jsp页面,controler层即控制层有actionservlet、action以及struts2的核心控制器filterdispatcher,控原创 2012-12-21 15:45:01 · 990 阅读 · 0 评论 -
JSP九大内置对象详解
JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数原创 2013-01-06 00:06:31 · 1277 阅读 · 0 评论 -
十个JDBC的最佳实践
DBC是Java为多种关系型数据库提供的统一的访问接口,以下是我长期使用JDBC总结的十个最佳实践。JDBC最佳实践1:使用PrearedStatement任何一个使用过JDBC的Java程序员几乎都知道这个,PreparedStatment可以通过预编译的方式避免我们在拼接SQL时造成SQL注入。JDBC最佳实践2、使用ConnectionPool(连接池)使用连接池作为最佳实践原创 2013-01-06 00:05:40 · 1012 阅读 · 0 评论 -
spring面试之关于AOP和DI的理解
一,spring 的优点? 1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts原创 2012-12-10 22:04:54 · 833 阅读 · 0 评论 -
使用SSH集成框架开发项目步骤
1、 环境搭建a)添加Struts框架的支持b)添加Spring框架的支持(选中5个类库,且Copy类库到WEB-INF/lib目录下)c)在Eclipse 中,DataBase Explorer透视图下,创建DataSourced)添加Hibernate框架的支持e)删除项目/WEB-INF/lib/asm-2.2.3.jar2、 创建实体类3、 创建DAO原创 2012-12-23 14:26:33 · 1734 阅读 · 2 评论 -
熟悉struts2MVC模式之用模型驱动传参的例子
web.xml配置文件: xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com原创 2012-12-09 22:53:44 · 1154 阅读 · 0 评论 -
Struts2 中#、@、%和$符号的用途
一.#符号的用途一般有三种。“#”主要有三种用途: 1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:parameters 包含当前HTTP请求参数的Map #parameters.id[0]作用相当于request.getParameter ("id")re原创 2012-12-03 23:12:09 · 4112 阅读 · 1 评论 -
JDBC工具类和JDBC连接数据库
JDBC工具类package com.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * @author Dell原创 2012-11-18 23:35:42 · 777 阅读 · 0 评论 -
oracle数据库学习小结
1.表连接语法:join. . .oneg:select ename,dname from emp join dept on(emp.dno=dept.dno);2.分页:eg:select ename,sal from ( select ename,sal,rownum r from原创 2012-11-15 00:56:29 · 412 阅读 · 0 评论 -
算法之冒泡、选择、递归、随机、循环
一,冒泡排序package com.java.method;/** * @author Dell * 冒泡方法对数组元素进行排序 */public class MaoPao { public static void main(String[] args) { int[] arr={5,63,2,45,1,8,7,14}; System.out.print("原创 2012-11-14 23:06:43 · 508 阅读 · 0 评论 -
表单提交的客户端验证(通过js函数验证)
String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> "> My JSP 'JiaoYan.jsp' s原创 2012-11-13 16:51:13 · 607 阅读 · 0 评论 -
面试:1,2,3,4四个数能组成多少个无重复数字的三位数?分别是?
package com.javabeans;/** * @author Dell * 有1、2、3、4个数字,能组成多少个互不相同且 * 无重复数字的三位数?都是多少? */public class GetCount { public static void main(String[] args) { int count=0; for (int i = 1原创 2012-11-11 23:54:02 · 1120 阅读 · 0 评论 -
随机产生10个0到100之间的数并求出最大值
package com.javabeans;/** * @author Dell * 随机产生十个数(0到100之间)并求出其中值最大的数 */public class RanMax { public static void main(String[] args) { int[] arr=new int[10]; int max=0; for (int x原创 2012-11-11 23:18:05 · 6145 阅读 · 0 评论