hibernate sql 分组查询
/**
* 销售统计
* @return
*/
public String goodsTongJi()
{
String sql="select g.mingcheng,sum(o.goods_quantity) as num,g.jiage,sum(o.goods_quantity)*g.jiage zongjia from t_orderitem o " +
" left join t_goods g on o.goods_id=g.id GROUP BY g.mingcheng,g.jiage order by sum(o.goods_quantity) desc";
Session session=goodsDAO.getHibernateTemplate().getSessionFactory().openSession();
List goodsList=session.createSQLQuery(sql).list();
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("goodsList", goodsList);
return ActionSupport.SUCCESS;
}
------------------------------------------------------------------
使用Navicat快速生成数据库字典
SELECT #*,
#TABLE_SCHEMA '库名',
TABLE_NAME '表名',
COLUMN_NAME '列名',
COLUMN_TYPE '数据类型',
COLUMN_COMMENT '字段描述'
FROM
information_schema.columns
WHERE
TABLE_NAME IN ('t_card_voucher','t_card_distribution_config','t_card_voucher_receive','t_card_voucher_send');
导出成world文档 菜单 -》文件-》导出向导 doc
----------------------------------------------------------------------------
动态加事件
$("#roll").delegate("dd","hover",function(e){
var e=e||window.event;
if(e.type=="mouseenter"){
$(this).find(".sus_tit").stop(true,true).slideDown(200);
}else
if(e.type=="mouseleave"){
$(this).find(".sus_tit").stop(true,true).slideUp(200);
}
});
下拉框 只读后不能操作
onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.defaultIndex;"
<select class="form-control input-sm" name="storeId" id="storeId_${status.index }" shelfId="${item.storeShelfId }" readonly="readonly" onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.defaultIndex;">
<option value="">请选择...</option>
<c:forEach var="ss" items="${store}">
<option value="${ss.id}" ${item.storeId == ss.id ? 'selected' : '' }>${ss.name}</option>
</c:forEach>
</select>
<a href="http://heisetoufa.iteye.com" onclick="return confirm('确定将此记录删除?')">删除</a>
//return 返回值为真时执行跳转
<a href="#" onclick="alert('确定将此记录删除?')">刷新</a>
// 不加return执行跳转
----------------------------------------------------------------------------------------------------------
怎么用js去掉超链接的下划线?
//当鼠标指向链接的时候下划线消失,因为加上了一个事件event.如果去去掉event事件,当页面加载的时候消失。
<a href="abc.htm" id=a1>链接</a>
<script for=a1 event="onmouseover">
a1.style.textDecoration='none'; //none下划线消失.underline有下划线
</script>
-----------------------------------------------------------------------------------------------------------
//event.srcElement 当前发生事件的对象
function showAlert(){
var obj = event.srcElement;
alert(obj.innerText);
}
<a href="#" onclick="showAlert()">中华我的家</a>
------------------------------------------------------------------------------------------------------------
setTimeout和setInterval的区别
setTimeout()只调用一种。。。
setInterval()会连续调用。。。。
------------------------------------------------------------------------------------------------------------
<A HREF="qq.jsp" onclick="javascript:location.replace(this.href);
event.returnValue=false; ">
禁止后退到本页面的链接</A> 当用户点击超链接时会把当前的地址替换为href
--------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>
如果使用上面的方法强制浏览器不再缓存Web页面,必须注意以下几点:
只有在使用安全连接时“Pragma: no-cache”才防止浏览器缓存页面。对于不受安全保护的页面,“Pragma: no-cache”被视为与“Expires: -1”相同,此时浏览器仍旧缓存页面,但把页面标记为立即过期。在IE 4或5中,“Cache-Control”META HTTP-EQUIV标记将被忽略,不起作用。
在实际应用中我们可以加上所有这些代码。然而,由于这种方法不能适用于所有的浏览器,所以是不推荐使用的。但如果是在Intranet环境下,管理员可以控制用户使用哪种浏览器,我想还是有人会使用这种方法。
----------------------------------------------------------------------------------------------------------------
当用户向数据库提交数据后,往往由于点击了F5刷新页面,造成数据的重复提交,很容易造成数据库数据混乱.
如果屏蔽了刷新按钮,二次提交的可能性会小很多!
下面是禁止页面刷新的javascript代码:
document.onkeydown = function()
{
if(event.keyCode==116) {
event.keyCode=0;
event.returnValue = false;
} //禁止按F5
}
document.oncontextmenu = function() {event.returnValue = false;} //禁止鼠标右击
-------------------------------------------------------------------------------------------------------------
提交表单的同时把按钮禁用,CSDN论坛用的就是这个方法!代码如下:
<form name="form1" method="post" action="http://www.xxx.net" onsubmit="this.s.disabled=true">
<input type="submit" name="s" value="提交">
</form>
你可以发现按钮按下后变灰了。
------------------------------------------------------------------------------------------------------------------
function searchs(){
var doc=document.fo.musicName.value;
if(doc!=null&&doc!=""){
document.fo.action="music.do?submit=dispSearch";
//fo为表单的名字也可以写成document.froms[第几个表单].action="music.do?submit=dispSearch";
document.fo.method="post";
document.fo.submit();
}else{
alert("搜索内容不能为空!");
}
}
js提交表单。。。。。
----------------------------------------------------------------------------------------------------------------
js正则匹配日期
<script>
var regM =/^(0[1-9]|1[0-2])$/; //匹配月
alert(regM.test("12"));
var regD =/^(0[1-9]|[1-2]\d|3[0-1])$/; //匹配日
alert(regD.test("10"));
</script>
------------------------------------------------------------------------------------------------------
var chineseNameReg = /^[\u4E00-\u9FA5]{1,}$/;//中文名字的正则表达式
var englishNameReg = /^[a-zA-Z]{1,}\/[a-zA-Z]{1,}[\sa-zA-Z]{0,}$/;//英文名字的正则表达式
开始结束符号/^和$
{1,}表示重复一次以上
--------------------------------------------------------------------------------------------------------
var table=document.getElementById("table1");
for(var i=0;i<table.rows.length;i++){
for(var j=0;j<table.rows[i].cells.length;j++){
alert(table.rows[i].cells[j].innerHTML);
} //获得一个表的每个元素的值。。。。
--------------------------------------------------------------------------------------------------------
disabled 不可用的。。。readonly 只读的 文本框属性
--------------------------------------------------------------------------------------------------------
java 生成随机数策略
Math.random()方法生成0.0至1.0(不包含1.0)的double型随机数,一般地, a + Math.random() * b可以返回a到a+b之间的随机数,不包括a+b.
---------------------------------------------------------------------------------------------------------------
struts1 中的attribute属性的作用
为<action>中name属性制定的ActionForm制定一个key关键字,这样就可根据scope属性指定的范围获取该ActionForm:
如:
<action
name="userForm"
attribute="user"
scope="request"
……
/>
则可通过request.getAttribute("user")获取"userForm"指定的ActionForm。
如果省略attribute属性,则可通过request.getAttribute("userForm")获取ActionForm
attribute属性当然如跟actionform取了一个别名
-----------------------------------------------------------------------------------------------------------------
js禁止按钮 x.disabled=true; //document.getElementById(x).disabled=true;
-----------------------------------------------------------------------------------------------------------------
<a href="javascript:window.parent.document.URL='/CustomerRelationshipManagementSystem/Login.do?method=exitUser'" onclick="return confirm('真的注销吗?')">退出系统</a>
-------------------------------------------------------------------------------------------------------------------//公共测试方法 map集合 list集合
<script type="text/javascript">
function basicTest1(){
//定义一个map集合存放对象
var maps={t1:{id:"1"},t2:{id:"2"}};
//遍历map集合中的key值与value值
for(var key in maps){
alert("key:"+key+"--value:"+maps[key].id);
}
//定义一个list集合存放对象
var lists=[{id:"1"},{id:"2"}];
//遍历list集合值
for(var p in lists){
alert(lists[p].id);
}
}
</script>
-------------------------------------------------------------------------------------------------
利用DWR框架动态给Table加数据
dwr.util.removeAllRows("userTab");
for(var i in dates){
//arrays必须是个数组,数组里面放对象,javabean的信息组装成一个简单的数组,然后显示到页面上
var user=[{id:dates[i].id,name:dates[i].name,sex:dates[i].sex,passWord:dates[i].passWord,remark:dates[i].remark}];
DWRUtil.addRows("userTab",user,[function(item){return item.name},
function(item){return item.passWord},
function(item){return item.sex},
function(item){return item.remark},
function(item){
var userDelete="<a href=javascript:onclick=deleteUsers("+item.id+","+"'"+item.name+"'"+")>刪除</a>";
return userDelete},
function(item){
var userUpdate="<a href='javascript:onclick=updateUser("+item.id+")'"+">更新</a>";
return userUpdate}
],{escapeHtml:false});
}
-------------------------------------------------------------------------------------------------------------
<%=request.getRealPath("/") %> 当前发布项目的绝对路径 如:D:\软件\JAVA开发工具\apache-tomcat-5.5.20\webapps\item
-------------------------------------------------------------------------------------------------------------
获得下拉列表选中的值
<script>
function show(){
alert(document.myform.mysel.options[document.myform.mysel.selectedIndex].text);
}
</script>
<form name="myform">
<select name="mysel" onchange="show()">
<option value="1">上海</option>
<option value="2" selected="selected">天津</option>
<option value="3">北京</option>
</select>
</form>
----------------------------------------------------------------------
重定向中文乱码问题的解决
<1>jsp页面间传输要在tomcat里边的server.xml文件里边加入下面的语句
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK" />
URIEncoding="GBK"这句是加进去的
<2>servlet/jsp页面间的传输要在所传输的文字前用到如下的语句
当然修改server.xml是必不可少的
例如
response.sendRedirect("MessageShow.jsp?message=" + URLEncoder.encode("成功发送邮件至","GBK") + to + URLEncoder.encode("信箱","GBK"));
URLEncoder.encode()这个方法是必不可少的
java.net.URLEncoder.encode()
----------------------------------------------------------------------
利用CSS让容器的溢出部分内容隐藏起来,smarty就可以不用截取字
在网页设计中,会遇到文本超过固定长度导致整体的网页变形的情况。程序员往往需要截取固定的长度来实现某些固定长度的控制。介绍一种直接采用CSS的代码控制来实现文本截取的方法。与程序员的直接字符截取的方式有点区别,其优势是可以自动控制文本显示的长度;缺点是不同浏览器的兼容性并不完美。使用到 overflow,text-overflow,white-space 这三个主要的属性,其他的代码属于修饰作用。
CSS代码: <style>
.texthidden{
width:200px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
border:1px solid #ddd;
}
</style>
HTML代码:
<div class="texthidden"> CSS让容器的溢出部分内容隐藏起来 </div>
代码分析:
1. width:200px; //指定宽度:
2. overflow:hidden; //将超出内容隐藏
3. text-overflow:ellipsis; //IE专用属性,文本溢出时显示省略标记();其他浏览器不支持。
4. white-space:nowrap; //强制内容不换行。
强制在同一行内显示所有文本,直到文本结束或者遭遇 br 元素 目前使用这种方法比较成功的示例是Gmail的内容显示,在IE下达到最好的效果。如果是FF那就比较糟糕,总是会出现截取半个中文的效果。其中涉及到最主要的原因是 text-overflow 这个属性只在IE下有效,目前很多CSS属性也存在这个问题,特别重要的是Margin和Padding这两个属性,往往导致页面出现各种不同的效果;在页面设计的时候,需要注意这些属性在不同浏览器的显示效果。
----------------------------------------------------------------------
用 showModalDialog 打开的窗口获得父窗口对象
showModalDialog( "tt.htm ",window,"font-size:20px;dialogWidth:400px;dialogHeight:400px;scrollbars=no;status=no"); //把父网页的 window 对象传给对话框
在 tt.htm 里:
var w = window.dialogArguments; //获得父窗口对象
alert(w.document.all.IDshowwhatprop.value);
---------------------------------------------------------------------
hibernate 查询返回指定的字段 把返回的字段封装到object数组中。。。
List list=session.createQuery("select r.user.loginid,r.menu.title,count(r.menu.title),max(startTime) from ReportForm r where r.user.loginid='admin' group by r.menu.title,r.user.loginid order by count(r.menu.title) desc").list();
System.out.println(list.size());
Iterator iterator = list.iterator();
while(iterator.hasNext()){
//你返回的结果集都封装到了Object数组中。
Object[] obj = (Object[])iterator.next();
System.out.println(obj[0]+"-"+obj[1]+"-"+obj[2]+"-"+obj[3]);
}
----------------------------------------------------------------------
oracle 操作
如果是exp导出的文件,可以用:
imp user/pass@database file=c:\backup.mdf full = y;
----------------------------------------------------------------------
C:\Users\Administrator>exp system/123456@192.168.1.120:1521/file=oralce e:\data.d
mp owner=(user)
C:\Users\Administrator>imp system/123456@192.168.1.120:1521/oralce file=e:\data.d
mp fromuser=user touser=user1
exp oracleuser/passwd file=(/mydata/dat1.dmp,/mydata/dat2.dmp,mydata/dat3.dmp) tables=(table1,table2,table3)
说明
1.如果加上“full=y”,将整个数据库全部导出,需要特殊的权限(具体什么权限没研究过),一般用system用户就足够了,普通用户是不可以的
2.不加“full=y”,默认导出连接数据库的用户数据库对象,比如:exp aaa/abc@oracle file=a.dmp,导出aaa模式下的所有数据库对象
3.你说的有多个用户,可以使用system来指定导出哪个用户的数据库对象,比如:exp aaa/abc@oracle file=a.dmp owner=(bbb,ccc),普通用户是不可以指定owner的
4.数据有多个实例的情况,这个要看你“@”后面是什么,如果@oracle,则在oracle实例上进行导出,@ora,则在ora实例上进行导出
创建 用户 权限
创建用户:
create user user1 identified by user1 default tablespace tspace1;
可以省略 default tablespace tspace1
最高授权:
grant connect,resource ,dba to user1;
基本授权:
grant connect,create view ,resource to TEST;
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
但是实际查找 oracle 10 2.0.1.0 系统时,发现两个角色的权限如下:
用sys登陆到oracle中,执行以下两条语句:
select * from role_sys_privs WHERE ROLE LIKE 'CONNECT'; --查询connect角色的权限
select * from role_sys_privs WHERE ROLE LIKE 'RESOURCE'; --查询 RESOURCE角色的权限
CONNECT角色: --是授予最终用户的典型权利,最基本的
CREATE SESSION --建立会话
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型
CREATE TABLE --创建表
-------------------------------------------------------------------------
启动 实例,监听
service oracle start
lsnrctl start
sqldeveloper查找TNS文件的顺序如下: 1,$HOME/.tnsnames.ora 2,$TNS_ADMIN/tnsnames.ora 3,TNS_NAMES lookup key in the registry 4,/etc/tnsnames.ora ( non-windows ) 5,$ORACLE_HOME/network/admin/tnsnames.ora 6,LocalMachine\SOFTWARE\ORACLE\ORACLE_HOME_KEY 7,LocalMachine\SOFTWARE\ORACLE\ORACLE_HOME 如果sqldeveloper没有找到合适的TNS文件,可以这样来给它设定需要的TNS文件: 1)配置环境变量TNS_ADMIN,让其指向TNS文件所在的目录,如:D:\Program Files\sqldeveloper; 2)在CMD中查看环境变量值是否正确,可使用命令:echo %TNS_ADMIN%,并重启sqldeveloper; 3)在sqldeveloper中,点击创建新链接按钮,Connection Type选择 TNS,Network Alias 中的下拉框中会显示出所有定义在TNS文件中的所有条目。
-------------------------------------------------------------------------
memcached 启动
/usr/local/bin/memcached -d -m 200 -u root restart
----------------------------------------------------------------------
分享到:
相关推荐
"项目中要用到的小实例2"这个标题暗示了这个压缩包可能包含了一些实用的小程序或代码示例,对于项目的开发或者问题解决有着实际的应用价值。由于描述为空,我们只能根据标签和文件名来推测其内容。 标签"源码"表明...
在这些项目实例中,可以看到如何创建Servlet类,实现doGet和doPost方法来处理客户端的请求,以及如何在web.xml中进行配置。 2. **JSP技术**:JSP(JavaServer Pages)是动态网页开发技术,将HTML代码与Java代码相...
在本项目实例中,我们探讨的是一个基于微信小程序的备忘录应用。微信小程序是一种轻量级的应用开发平台,特别适合构建无需下载安装即可使用的移动应用。该项目旨在提供记录文字、计时以及设置提醒的基本功能,以满足...
iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。... MyCompany.Utility 项目中用到的工具集
在这个实例中,我们将学习如何利用C#来构建这样一个功能丰富的文本编辑工具。 【描述解析】 描述中提到“有详细的过程”,意味着我们将涵盖该项目从头到尾的各个步骤,包括设计、编码、调试和测试等环节。这将为...
在C++的世界中,项目开发实例是提升编程技能和理解实际应用的重要途径。本实例是“C++项目开发实例”的第一章,聚焦于社区视频监控系统的实现。这不仅是一个学习C++语言的机会,更是了解如何将理论知识应用于实际...
在本《Java项目开发全程实例》中,涵盖了六个章节,每个章节都对应一个具体的应用系统,旨在通过实际项目开发帮助读者深入理解Java编程语言及其在实际业务中的应用。以下是这六个项目及其涉及的关键知识点的详细解析...
在本文中,我们将深入探讨"C#.NET项目开发实例代码"这一主题,这是一份包含实际代码的资源,专为学习和理解C#.NET编程语言的应用而设计。C#(读作"C Sharp")是由微软公司推出的面向对象的编程语言,主要用于构建...
在多轴控制中,会用到诸如JOG(点动)、CONT(连续运行)、CND(条件判断)等特定指令。 6. **项目实例分析**:“plc三菱多轴控制项目实例”可能包含一个实际的应用案例,例如一个四轴机械臂的控制程序。这个实例...