- 浏览: 18963 次
- 性别:
- 来自: 韶关
-
最新评论
1. Page.java package cn.loen.platform.util.page; import java.util.List; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: loen</p> * * @author bright * @version 1.0 */ public interface Page { public static int PAGE_SIZE = 15; /** * 是否是首页(第一页),第一页页码为1 * * @return 首页标识 */ public boolean isFirstPage(); /** * 是否是最后一页 * * @return 末页标识 */ public boolean isLastPage(); /** * 是否有下一页 * * @return 下一页标识 */ public boolean hasNextPage(); /** * 是否有上一页 * * @return 上一页标识 */ public boolean hasPreviousPage(); /** * 获取最后一页页码,也就是总页数 * * @return 最后一页页码 */ public int getLastPageNumber(); /** * 当前页包含的数据 * * @return 当前页数据源 */ public List getThisPageElements(); public void setThisPageElements(List ls); /** * 总的数据条目数量,0表示没有数据 * * @return 总数量 */ public int getTotalNumberOfElements(); /** * 获取当前页的首条数据的行编码 * * @return 当前页的首条数据的行编码 */ public int getThisPageFirstElementNumber(); /** * 获取当前页的末条数据的行编码 * * @return 当前页的末条数据的行编码 */ public int getThisPageLastElementNumber(); /** * 获取下一页编码 * * @return 下一页编码 */ public int getNextPageNumber(); /** * 获取上一页编码 * * @return 上一页编码 */ public int getPreviousPageNumber(); /** * 每一页显示的条目数 * * @return 每一页显示的条目数 */ public int getPageSize(); /** * 当前页的页码 * * @return 当前页的页码 */ public int getThisPageNumber(); } 2.PageImp.java package cn.loen.platform.util.page; import java.util.List; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: loen</p> * * @author bright * @version 1.0 */ public class PageImp implements Page { private List elements; private int pageSize; private int pageNumber; private int totalElements; /** * 构建Page对象,完成数据的分页处理 * * @param elements * List数据源 * @param totalElements * 记录总数 * @param pageNumber * 当前页编码,从1开始,如果传的值为Integer.MAX_VALUE表示获取最后一页。 * 如果你不知道最后一页编码,传Integer.MAX_VALUE即可。如果当前页超过总页数,也表示最后一页。 * 这两种情况将重新更改当前页的页码为最后一页编码。 * @param pageSize * 每一页显示的条目数 */ public PageImp(List elements, int totalElements, int pageNumber, int pageSize) { this.elements = elements; this.totalElements = totalElements; this.pageNumber = pageNumber; this.pageSize = pageSize; if (this.pageNumber == Integer.MAX_VALUE || this.pageNumber > getLastPageNumber()) this.pageNumber = getLastPageNumber(); } public boolean isFirstPage() { return getThisPageNumber() == 1; } public boolean isLastPage() { return getThisPageNumber() >= getLastPageNumber(); } public boolean hasNextPage() { return getLastPageNumber() > getThisPageNumber(); } public boolean hasPreviousPage() { return getThisPageNumber() > 1; } public int getLastPageNumber() { return totalElements % this.pageSize == 0 ? totalElements / this.pageSize : totalElements / this.pageSize + 1; } public List getThisPageElements() { return elements; } public int getTotalNumberOfElements() { return totalElements; } public int getThisPageFirstElementNumber() { return (getThisPageNumber() - 1) * getPageSize() + 1; } public int getThisPageLastElementNumber() { int fullPage = getThisPageFirstElementNumber() + getPageSize() - 1; return getTotalNumberOfElements() < fullPage ? getTotalNumberOfElements() : fullPage; } public int getNextPageNumber() { int nextPage = getThisPageNumber() + 1; return nextPage < getLastPageNumber() ? nextPage : getLastPageNumber(); } public int getPreviousPageNumber() { int previousPage = getThisPageNumber() - 1; return 1 < previousPage ? previousPage : 1; } public int getPageSize() { return pageSize; } public int getThisPageNumber() { return pageNumber; } public void setThisPageElements(List ls){ elements = ls; } } 3.QueryHandler .java For Hibernate HQL查询 package cn.loen.platform.util.query; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Query; import cn.loen.platform.util.page.PageImp; import cn.loen.platform.util.page.Page; import cn.loen.platform.common.BaseDAO; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: loen</p> * * @author bright * @version 1.0 */ public class QueryHandler { private static QueryHandler instance = new QueryHandler(); public static QueryHandler instance() { return instance; } private QueryHandler() { } /** * 得到记录总数 * @param hql String * @param values Object[] * @return int * @throws HibernateException */ public int getTotalCount(String hql, Object[] values) throws HibernateException { Integer count = new Integer(0); /** * 去掉排序 */ int sql_orderby = hql.indexOf("order by"); if(sql_orderby>0) hql = hql.substring(0,sql_orderby); /** * 去掉条件 */ hql=(hql.split("from"))[1]; StringBuffer countStr = new StringBuffer("select count(*) from"); countStr.append(hql); Session session = null; List list = null; try { session = BaseDAO.getSession(); Query query = session.createQuery(countStr.toString()); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } list = query.list(); if (!list.isEmpty()) count = (Integer) list.get(0); return count.intValue(); } finally { session.close(); } } /** * 按页数得到需要记录数 * @param hql String * @param values Object[] * @param pageNo int * @param pageSize int * @return List * @throws HibernateException */ public List query(String hql, Object[] values, int pageNo, int pageSize) throws HibernateException { List list = null; Session session = null; try { session = BaseDAO.getSession(); Query query = session.createQuery(hql); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } query.setFirstResult((pageNo - 1) * pageSize); query.setMaxResults(pageSize); return query.list(); } finally { session.close(); } } /** * 取得全部记录 * @param hql String * @param values Object[] * @return List * @throws HibernateException */ public List queryAll(String hql, Object[] values) throws HibernateException { List list = null; Session session = null; try { session = BaseDAO.getSession(); Query query = session.createQuery(hql); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } return query.list(); } finally { session.close(); } } public Page queryByPage(int pageNumber, int pageSize, Object[] values, String hql) { Page page = null; try { int total = QueryHandler.instance().getTotalCount(hql, values); List querylist = QueryHandler.instance().query(hql, values, pageNumber, pageSize); page = new PageImp(querylist, total, pageNumber, pageSize); } catch (Exception e) { e.printStackTrace(); } return page; } } 4.1 SQLQueryHandler .java sql语法查询处理 package cn.loen.platform.util.query; import org.hibernate.Session; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.ArrayList; import cn.loen.platform.common.BaseDAO; import cn.loen.platform.util.page.Page; import cn.loen.platform.util.page.PageImp; import cn.loen.platform.util.DateUtil; import cn.loen.golf.course.po.Course; import cn.loen.golf.course.action.CourseSearchActionForm; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: loen</p> * * @author bright * @version 1.0 */ public class SQLQueryHandler { private static SQLQueryHandler handler = new SQLQueryHandler(); public static SQLQueryHandler instance() { return handler; } private SQLQueryHandler() { } /** * 分页查询 * @param pageNumber int * @param pageSize int * @param values Object[] * @param sql String * @param helper IResultSetHelper * @return Page */ public Page queryByPage(int pageNumber, int pageSize, Object[] values, String sql, IResultSetHelper helper) { Page page = null; Session session = null; Connection con = null; try { session = BaseDAO.getSession(); con = session.connection();//通过Hibernate获得Connection jdbc自己写 int total = getTotalCount(con, sql, values); List querylist = query(con, sql, values, pageNumber, pageSize, helper); page = new PageImp(querylist, total, pageNumber, pageSize); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } return page; } /** * 取记录总数 * @param con Connection * @param sql String * @param values Object[] * @return int * @throws SQLException */ private int getTotalCount(Connection con, String sql, Object[] values) throws SQLException { System.out.println(sql); int count = 0; String[] sql1 = sql.split("from");//Mysql不支持count子查询 故重新构造 sql = sql1[1]; StringBuffer countStr = new StringBuffer( "select count(*) as rowcount from"); // StringBuffer countStr = new StringBuffer( // "select count(*) as rowcount from ("); int sql_orderby = sql.indexOf("order by"); if (sql_orderby > 0) { countStr.append(sql.substring(0, sql_orderby)); } else { countStr.append(sql); } // countStr.append(")"); PreparedStatement ps = null; ResultSet rs = null; try { ps = con.prepareStatement(countStr.toString()); System.out.println(countStr); for (int i = 0; i < values.length; i++) { if (values[i] instanceof java.util.Date) { values[i] = DateUtil.getSqlDate((java.util.Date) values[i]); } //ps.setObject(i + 1, values[i]); ps.setObject(2 * (i + 1) - 1, values[i]); ps.setObject(2 * (i + 1), values[i]); } rs = ps.executeQuery(); if (rs.next()) { count = rs.getInt("rowcount"); } } finally { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } } return count; } /** * Oracle的查询记录集方法 * @param con Connection * @param sql String * @param values Object[] * @param pageNo int * @param pageSize int * @param helper IResultSetHelper * @return List * @throws SQLException */ private List oracleQuery(Connection con, String sql, Object[] values, int pageNo, int pageSize, IResultSetHelper helper) throws SQLException { List list = null; PreparedStatement ps = null; ResultSet rs = null; try { StringBuffer pageStr = new StringBuffer(); pageStr.append( "select * from ( select row_.*, rownum rownum_ from ( "); pageStr.append(sql); pageStr.append(" ) row_ where rownum <= "); pageStr.append(pageSize * pageNo); pageStr.append(" ) where rownum_ > "); pageStr.append(pageSize * (pageNo - 1)); for (int i = 0; i < values.length; i++) { if (values[i] instanceof java.util.Date) {//把java日期转为sql日期类型 values[i] = DateUtil.getSqlDate((java.util.Date) values[i]); } //ps.setObject(i + 1, values[i]); ps.setObject(2 * (i + 1) - 1, values[i]); ps.setObject(2 * (i + 1), values[i]); } rs = ps.executeQuery(); list = helper.prepareListFromResultSet(rs); } finally { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } } return list; } /** * 按取得查询结果记录Mysql方法 其它数据库方法另外写 * @param con Connection * @param sql String * @param values Object[] * @param pageNo int * @param pageSize int * @param helper IResultSetHelper * @return List * @throws SQLException */ private List query(Connection con, String sql, Object[] values, int pageNo, int pageSize, IResultSetHelper helper) throws SQLException { List list = null; String myPageSQL = sql + " limit " + pageSize * (pageNo - 1) + "," + pageSize * pageNo; //关键代码 PreparedStatement ps = null; ResultSet rs = null; try { ps = con.prepareStatement(myPageSQL); System.out.println(myPageSQL); for (int i = 0; i < values.length; i++) { if (values[i] instanceof java.util.Date) { values[i] = DateUtil.getSqlDate((java.util.Date) values[i]); } //ps.setObject(i + 1, values[i]); 此中方法在servlet里面控制查询参数调用 ps.setObject(2 * (i + 1) - 1, values[i]); //利用sql语句控制查询条件调用 ps.setObject(2 * (i + 1), values[i]); } rs = ps.executeQuery(); list = helper.prepareListFromResultSet(rs); } finally { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } } return list; } /** * 测试 * @param args String[] */ public static void main(String[] args) { BaseDAO.initialize(); SQLQueryHandler handler = SQLQueryHandler.handler; int pageNumber = 1; int pageSize = 5; Object[] values = {"", "434", ""}; String hql = "select c.courseid,c.coursename,c.provincecode,c.citycode from gf_course as c where c.isdisable='" + Course.DISABLE + "' and (?='' or coursename like CONCAT('%',?,'%')) and (?='' or provincecode=?) and (?='' or citycode=?)"; Page p = handler.queryCourseByPage(pageNumber, pageSize, values, hql); System.out.println(p.getPageSize()); } /** * Service调用方法测试 * @param pageNumber int * @param pageSize int * @param values Object[] * @param hql String * @return Page */ private Page queryCourseByPage(int pageNumber, int pageSize, Object[] values, String hql) { final List items = new ArrayList(); return SQLQueryHandler.instance().queryByPage(pageNumber, pageSize, values, hql, new IResultSetHelper() { //2.把List封装到Page public List prepareListFromResultSet(ResultSet rs) throws SQLException { //1.把rs封装到List while (rs.next()) { List list = new ArrayList(); list.add("1111"); list.add("222"); CourseSearchActionForm cs = new CourseSearchActionForm(); cs.setCoursename(rs.getString("coursename")); cs.setProvincecode(rs.getString("provincecode")); cs.setCitycode(rs.getString("citycode")); cs.setCourseid(rs.getString("courseid")); cs.setPriceList(list); items.add(cs); } return items; } }); } } 4.2 IResultSetHelper.java 具体实现见上个类的测试调用代码 package cn.loen.platform.util.query; import java.util.List; import java.sql.ResultSet; import java.sql.SQLException; public interface IResultSetHelper { /** * SQL查询的结果集转化成LIST * @param rs ResultSet * @return List * @throws SQLException */ public List prepareListFromResultSet(ResultSet rs) throws SQLException; } 5.Serivce调用 public class CourseService implements ICourseService { public CourseService() { } /** * 根据模糊球场名,球洞,省份,城市代码来查询球场以及价格信息 * @return Page */ public Page findCoursesPricesByuser(int pageNumber, int pageSize, Object[] values) throws BusinessException { String hql = "select c.courseid,c.coursename,c.provincecode,c.citycode from gf_course as c where c.isdisable='" + Course.DISABLE + "' and (?='' or coursename like CONCAT('%',?,'%')) and (?='' or provincecode=?) and (?='' or citycode=?)"; final List items = new ArrayList(); try { return SQLQueryHandler.instance().queryByPage(pageNumber, pageSize, values, hql, new IResultSetHelper() { public List prepareListFromResultSet(ResultSet rs) throws SQLException { CourseService service = new CourseService(); while (rs.next()) { List list = service.findPricesByCourseid(rs. getString("courseid")); CourseSearchActionForm cs = new CourseSearchActionForm(); cs.setCoursename(rs.getString("coursename")); cs.setProvincecode(rs.getString("provincecode")); cs.setCitycode(rs.getString("citycode")); cs.setCourseid(rs.getString("courseid")); cs.setPriceList(list); items.add(cs); } return items; } }); } catch (SQLException ex) { throw new BusinessException("数据库异常!!"); } } /** * jdbc查询 通过球场id查询详细价格列表 * @param courseid String * @return List */ private List findPricesByCourseid(String courseid) throws SQLException { ResultSet rs = getICourseDAO().findPricesByCourseid(courseid); List li = new ArrayList(); while (rs.next()) { CoursePrice cp = new CoursePrice(); cp.setWkpriceid(rs.getString("wkpriceid")); cp.setDaterule(rs.getString("daterule")); cp.setSaleprice(rs.getLong("saleprice")); cp.setLoenprice(rs.getLong("loenprice")); cp.setPricememo(rs.getString("pricememo")); cp.setHoles(rs.getInt("holes")); li.add(cp); } return li; } } 6.Servlet调用 package cn.loen.golf.course.action; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForward; import org.apache.struts.action.Action; import cn.loen.platform.security.ProxyService; import cn.loen.golf.course.ICourseService; import java.util.List; import cn.loen.platform.common.BusinessException; import cn.loen.platform.util.page.Page; import java.util.ArrayList; import javax.servlet.http.HttpSession; public class CourseSearchAction extends Action { private int pageNumber = 1; private int pageSize = 5; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws BusinessException, Exception { CourseSearchActionForm courseSearchForm = (CourseSearchActionForm) form; HttpSession session = request.getSession(true); String pageNumStr = request.getParameter("pageNumber"); if (pageNumStr == null) {//用户查询 没分页请求 默认显示第一页 pageNumStr = "1"; session.setAttribute("courseSearchForm",courseSearchForm); //把用户的查询条件封装到Session } else{ //用户分页请求 if(session.getAttribute("courseSearchForm")!=null)//防止用户乱添加参数 courseSearchForm = (CourseSearchActionForm)session.getAttribute("courseSearchForm"); //取得查询条件 } pageNumber = Integer.parseInt(pageNumStr); List list = new ArrayList(); list.add(courseSearchForm.getCoursename()); list.add(courseSearchForm.getProvincecode()); list.add(courseSearchForm.getCitycode()); Object[] object = list.toArray();//添加查询条件 注意Form需要重写reset()方法 把所有null转为""; Page page = getICourseService().findCoursesPricesByuser(pageNumber, pageSize, object); request.setAttribute("Page", page); String path = request.getRequestURI();//取得Action路径 request.setAttribute("myPageURL", path + "?"); return mapping.findForward("success"); } private ICourseService getICourseService() { return (ICourseService) ProxyService. getBusinessService( "CourseService"); } } 7.Jsp页面 <%@page contentType="text/html;charset=gb2312" language="java" import="java.util.*,cn.loen.golf.course.po.*,cn.loen.golf.course.action.*"%> <%@ page import="cn.loen.platform.util.page.Page"%> <%@ include file="/common/taglibs.jsp" %> <html:html lang="true"> <head> <%@ include file="/common/meta.jsp" %> <link href="/css/admin.css" type="text/css" rel=stylesheet> </head> <body> <center> <%@ include file="/common/message.jsp" %> <br> <html:form action="/golf/courseSearchAction.do"> <table width="394" border="1" align="center"> <tr> <td width="65">球场名:</td> <td width="181"><html:text property="coursename"/></td> <td width="43">省份</td> <td width="77"><html:text property="provincecode"/></td> </tr> <tr> <td>xx:</td> <td></td> <td>城市</td> <td><html:text property="citycode"/></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="提交" /></td> <td> </td> <td> </td> </tr> </table> </html:form> <br> <table width="745" border="1" align="center"> ${Page} <% Page datapage = (Page)request.getAttribute("Page"); List dataList = new ArrayList();//数据 int dataNum = 0; if(datapage!=null){ dataList = datapage.getThisPageElements(); dataNum = dataList.size(); } for(int i= 0;i < dataNum;i++){ CourseSearchActionForm cform = (CourseSearchActionForm)dataList.get(i); List list = cform.getPriceList(); int size = list.size(); %> <tr> <td width="39" rowspan="<%=size+2%>">名称:<a href="/golf/admin/course/detailCourse.do?courseid=<%=cform.getCourseid()%>"><%=cform.getCoursename()%></a></td> <td height="24" colspan="5" bgcolor="#FFCCCC">省份:<%=cform.getProvincecode()%></td> </tr> <tr> <td width="54">价格类型</td> <td width="61">市场价</td> <td width="39">罗恩价</td> <td width="54">球洞</td> <td width="54">说明</td> </tr> <%for(int n=0;n<list.size();n++){ CoursePrice cp = (CoursePrice)list.get(n); %> <tr> <td><%=cp.getDaterule()%></td> <td><%=cp.getSaleprice()%></td> <td><%=cp.getLoenprice()%></td> <td><%=cp.getHoles()%></td> <td><%=cp.getPricememo()%></td> </tr> <%}}%> </table> <jsp:include page="/platform/common/pageBar.jsp" flush="false" /> </body> </html:html> 7.pageBar.jsp 控制条 <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.util.*"%> <%@ page import="cn.loen.platform.util.page.Page"%> <% Page myPage = (Page)request.getAttribute("Page"); int lastPageNumber = 0;//总页数 int nextPageNumber = 0;//下页 int pageSize = 0;//每页记录数 int previoutPageNumber = 0;//上页 List orderlist = new ArrayList();//数据 int firstElement = 0;//当前第一条 int lastElement = 0;//当前最后一条 int pageNum = 0;//当前第几页 int totalElement = 0;//总记录数 if (myPage != null){ lastPageNumber = myPage.getLastPageNumber();//总页数 nextPageNumber = myPage.getNextPageNumber();//下页 pageSize = myPage.getPageSize();//每页记录数 previoutPageNumber = myPage.getPreviousPageNumber();//上页 orderlist = myPage.getThisPageElements();//数据 firstElement = myPage.getThisPageFirstElementNumber();//当前第一条 lastElement = myPage.getThisPageLastElementNumber();//当前最后一条 pageNum = myPage.getThisPageNumber();//当前第几页 totalElement = myPage.getTotalNumberOfElements();//总记录数 } String pageURL = (String)request.getAttribute("myPageURL"); %> <table width="100%" border="0" align="center"> <tr> <td><span class="font">共<%=totalElement%>条/每页<%=pageSize%>条 第<%=pageNum%>页/共<%=lastPageNumber%>页</span></td> <td> <div align="right" class="font">[<a href="javascript:gotoPage(1)">首页</a>][<a href="javascript:gotoPage(<%=previoutPageNumber%>)">上一页</a>][<a href="javascript:gotoPage(<%=nextPageNumber%>)">下一页</a>][<a href="javascript:gotoPage(<%=lastPageNumber%>)">末页</a>] 转第 <select name="jump" onchange="jumpPage(this)"> <%for (int i = 1; i <= lastPageNumber; i++) { if (i == pageNum) {%> <option selected value="<%=i%>"><%=i%></option> <%} else{%> <option value="<%=i%>"><%=i%></option> <%} }%> </select> 页 </div></td> </tr> </table> <SCRIPT LANGUAGE="JavaScript" type=""> function jumpPage(selObj){ window.location.href="<%=pageURL%>&pageNumber="+selObj.options[selObj.selectedIndex].value; } function gotoPage(pageNumber){ window.location.href="<%=pageURL%>&pageNumber="+pageNumber; } </SCRIPT>
发表评论
-
(转)在swing中显示web页面~~
2011-05-14 16:42 1688http://www.chinajavaworld.com/t ... -
(转) firstResult/maxResults specified with collection fetch; applying in memory!
2010-11-25 13:23 1872之前遇到了同样的问题。记录一下: WARN ... -
映射枚举
2010-11-18 13:07 931Hibernate对枚举类型映射类EnumType对id的支持 ... -
收藏卡了。。复制一下吧。。
2010-11-01 14:20 596import java.util.Arrays; im ... -
追MM的23种设计模式 (转)
2010-11-01 13:32 602创建型模式 1、FACTORY— ... -
截字符串
2010-11-01 12:14 618<c:set var="subStr" ... -
editplus右键打开(转)
2010-10-22 22:45 2092经常有这样的情况, 本来右键里原有的Editplus打开文件项 ... -
base(转)
2010-10-20 20:25 591package pack.java.ssh.basedao; ... -
优化策略
2010-10-18 22:44 6751、outer-join关键字(many-to-one的情况) ... -
刚学hibernate遇到不能保存问题,查到后找到方法解决~
2010-10-18 22:19 975hibernate.hbm.xml中加入 <pro ... -
(转)Struts1+Spring+Hibernate配置
2010-10-15 17:50 919开发环境:MyEclipse6.0+Tomcat5.0+Ora ... -
(转)Struts2+Spring2+Hibernate3开发环境搭建
2010-10-15 17:49 820看到网上有很多ssh配置文章,但是有很多是调不通的,还有版本不 ... -
(转)MyEclipse从数据库反向生成实体类之Hibernate方式
2010-10-15 17:48 1059上次谈到利用MyEclipse ... -
对Struts2 OGNL的分析与简介
2010-10-12 23:10 998Struts2 OGNL基础上的增强 1、值栈(ValueS ... -
java串口编程(转)
2010-10-09 14:12 7301. SerialBean SerialBean是本类库与其他 ... -
myeclipse8.0如何安装 visual class
2010-10-08 17:35 1045打开Help-->Install-->New So ... -
jsp_AJAX 下拉连动_2
2010-10-08 14:49 474<%@ page language="java ... -
jsp_AJAX 下拉连动
2010-10-08 14:47 672引用 <%@ page language=" ...
相关推荐
### Protel封装名称参考详解 #### 一、概述 在电子设计自动化(EDA)领域,Protel是一款非常流行的软件工具,被广泛应用于电路原理图设计、印制电路板(PCB)布局等领域。封装(Footprint)是Protel中一个重要的...
#### 一、立创EDA封装库命名规范概述 立创EDA封装库命名规范是由立创EDA团队制定的一套用于指导电路板(PCB)设计过程中元件封装命名的标准文档。这份规范旨在提高PCB设计的标准化程度,确保封装库的一致性和准确性...
本文将根据网络来源提供的一份关于IC封装尺寸的参考资料进行详细介绍,帮助读者更好地理解各种常见IC封装的尺寸规格。 #### 二、双列直插式封装(DIP) **1. DIP8** - **描述**:DIP8是一种常见的双列直插式封装,...
### 6位数码管引脚图与封装设计详解 #### 一、引言 在电子产品的设计与开发过程中,数码管作为一种常见的显示元件被广泛应用于各种场合,如时钟...希望本文能为读者在数码管相关的电路板设计方面提供一定的参考价值。
解压并研究这些文件,可以帮助我们理解具体是如何进行封装的,也可以为我们的项目提供参考和学习的素材。 总结来说,HttpClient的封装是为了提高代码的可维护性和易用性,通过隐藏复杂实现细节,提供简洁的API接口...
OSI参考模型,数据封装,TCP/IP参考模型
此资源的作者提供了全套的三维PCB封装库,涵盖了多种常用的电子元器件,这对于设计师来说是一份宝贵的参考资料。在下载和使用这些封装时,应注意尊重作者的辛勤工作,自用而不应随意传播。这样既能保护原创者的权益...
"PCB封装列表.txt"则作为一个参考指南,帮助设计师理解封装库中的内容。 总的来说,这个资源为使用Altium Designer进行PCB设计的工程师提供了一套完整的保险丝封装解决方案,涵盖了2D布局和3D可视化,有助于提高...
国际上第一本微系统封装的参考书,目录如下: 1 微系统封装导论 1.1 微系统概述 1.2 微系统技术 1.3 微系统封装(MSP)概述 1.4 微系统封装的重要性 1.5 系统级微系统技术 1.6 对微系统工程师的期望 1.7 微系统及封装...
总的来说,这个"PADS9.5PCB封装库"资源是PCB设计者的重要参考资料,它能够极大地简化设计流程,提高设计质量。使用者需结合PADS 9.5软件的具体操作指南,充分利用这个库提供的各种元件模型,确保PCB设计的高效和准确...
封装尺寸图表概述 在电子制造行业中,封装尺寸是指电子组件的外形尺寸和引脚...各种贴片封装尺寸图都是电子制造行业中非常重要的参考依据。了解这些封装尺寸可以帮助设计和制造电子产品,提高产品的可靠性和稳定性。
这个压缩包文件名为"Altium Designer PCB封装库【很全】.zip",内含丰富的PCB封装资源,对于使用Altium Designer的新手来说,是极具价值的参考资料。封装库在电路板设计中扮演着至关重要的角色,因为它们代表了实际...
在电子设计自动化(EDA)领域,Cadence Allegro是一款广泛使用的高级印刷电路板(PCB)设计工具。Cadence Allegro封装库是该软件的重要组成部分,它包含了各种电子元器件的预定义模型,设计师可以利用这些模型快速...
学校给的参考单片机元件封装,有AD的IC元件封装,还有51单片机的mcu的等
本资源包含的"音频接口 Altium封装 AD封装库 2D+3D PCB封装库-15MB.zip"是一个针对音频接口的专门封装库,对于进行音频设备的设计工作来说,这是一个非常宝贵的参考资料。 首先,让我们深入了解一下什么是封装。在...
在电子行业中,集成电路(IC)封装是至关重要的一个环节,它不仅保护内部的芯片免受外部环境的影响,还为芯片提供了电气连接到主板的方式。本文将深入探讨“关于IC封装尺寸”的相关知识点,以帮助读者更好地理解这个...
QFN(Quad Flat No-Lead)封装,全称为四方扁平无引脚封装,是一种广泛应用于微电子设备的表面安装元器件封装技术。这种封装方式因其体积小、重量轻、引脚间距紧密以及良好的热性能而备受青睐,尤其在高速、高性能的...