saveorupdate()如果传入的对象在数据库中有就做update操作,如果没有就做save操作。
save()在数据库中生成一条记录,如果数据库中有,会报错说有重复的记录。update()就是更新数据库中的记录主键在saveorupdate()方法中是起着关键作用的,只有这个主键的值不为空的时候才进行insert还是update的判断,否则直接insert若主键不为空,就可以进行saveorupdate()操作了。save是返回插入数据的主见的,而saveOrUpdate是voidsave方法更适用于确定了是要插入,而且需要得到插入数据的主键而saveOrUpdate更倾向于不缺定是插入还是更新,而且你不需要得到他的主键另一方面,如果你无法确定你要插入或更新的对象是不是持久态或游离态时。如果你save一个持久态或更新一个游离态,这都是有问题的,此时搜索你就要用到saveOrUpdate总体来说,如果你能确定你即将操作对象的状态,则不需要用saveOrUpdate
7.Hibante用的样板
8.Hibernate的模糊查询
9.
mysql数据库可以存图片吗? 破碎这是事实 | 浏览 2820 次发布于2016-06-08 20:38 最佳答案
可以。存图片的列需要设置成BLOB、MEDIUMBLOB或LONGBLOB等数据类型。
但是以前基本上不会把图片直接存在数据库里,因为数据库里的数据是为了用来快速分析、快速存取的,图片数搜索据在mysql里既不能建立索引也不能和其他数据一起分析,存取速度和读写磁盘也没什么区别,每次备份、导入导出数据库时还增加了数据量,降低了效率。所以一般都是把图片存在系统里,然后把图片的存放路径放在数据库里。
this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");10.
//修改作用 数据库添加新字段
ALTER TABLE FarmersStoreGoods ADD ProductUnivalentMax FLOAT;、、添加ALTER TABLE FarmersStoreGoods ADD Processor VARCHAR(20);
6.1.修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];删除字段:alter table `user_movement_log` drop column Gatewayid
//修改UPDATE farmersstoregoods SET figureName = 'haha' WHERE fid=44;com.nmfz.app.manager.impl.LogisticsManHeft warehouseMan 11//foreach的运用 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><c:forEach items="${aa}" var="a">
<p>${a.companyHuman}</p></c:forEach>12//hibnate解决乱码jdbc:mysql://localhost:3306/biao1?useUnicode=true&characterEncoding=UTF-813
6.1.修改某个表的字段类型及指定为空或非空>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];14
saveorupdate()如果传入的对象在数据库中有就做update操作,如果没有就做save操作。save()在数据库中生成一条记录,如果数据库中有,会报错说有重复的记录。update()就是更新数据库中的记录主键在saveorupdate()方法中是起着关键作用的,只有这个主键的值不为空的时候才进行insert还是update的判断,否则直接insert若主键不为空,就可以进行saveorupdate()操作了。save是返回插入数据的主见的,而saveOrUpdate是voidsave方法更适用于确定了是要插入,而且需要得到插入数据的主键而saveOrUpdate更倾向于不缺定是插入还是更新,而且你不需要得到他的主键另一方面,如果你无法确定你要插入或更新的对象是不是持久态或游离态时。如果你save一个持久态或更新一个游离态,这都是有问题的,此时搜索你就要用到saveOrUpdate总体来说,如果你能确定你即将操作对象的状态,则不需要用saveOrUpdate 15Hibernate的模板查询写法http://www.cnblogs.com/JemBai/archive/2011/01/17/1937409.html大概的删除,修改http://blog.csdn.net/tianxiezuomaikong/article/details/53021895
17//通过<script>获得<td>里<buttion>所对应的值(values="")
<SCRIPT LANGUAGE="JavaScript">
function sub(btn){ var tds = btn.parentElement.parentElement.children; var td = (tds[1]).innerHTML; alert("测试是否获取到本行第一个表格的值: " + td); var a=1; $.ajax({ async: false, type: "post", data:"m_s_no="+td, url: "<%=path%>/smallTowns_sp/skipPage.action", success: function(data){ alert(td); $("#ckshow")[0].innerHTML=data; } });}
<td> <input type='button' name='btn' οnclick="javascript:sub(this);" value="递 交"> </td>//点击<onclick>通过window事件进入相对空间
//hibnate所有方法https://zhidao.baidu.com/question/328004060874001125.html?fr=iks&word=bulk+Update%28String+queryString%2CObject+value%29%BA%CDbulk+update%28String%29%D3%C3%B7%A8&ie=gbk//hibnate的hsq用法http://blog.csdn.net/yu422560654/article/details/7741778删除//this.getHibernateTemplate().bulkUpdate(yujv);System.out.println(HQL);//int ii= getHibernateTemplate().bulkUpdate("delete from farmersstoregoods where fid=?", fid);-1.requst接受前台值HttpServletRequest request=ServletActionContext.getRequest(); String figureName_id=(String)request.getParameter("figureName_id"); System.out.println(figureName_id);<value>com/nmfz/app/model/supbackgman/ProductStore.hbm.xml</value> <value>com/nmfz/app/model/supbackgman/ProductShelves.hbm.xml</value> <value>com/nmfz/app/model/supHeft/LogisticsParcel.hbm.xml</value> <value>com/nmfz/app/model/supHeft/LogisticsCompany.hbm.xml</value><%=path%>/townshipManagement_sp/fuzzyquery.action0。ajax接受<input>的id的值村长姓名: <input type="text" id="figureName" />var aa = document.getElementById('figureName').value; 1。获取<td>里面的idvar aa=document.getElementById("***").innerText;//td里只有字符的时候2。mysql大全http://www.cnblogs.com/yunf/archive/2011/04/12/2013448.html3。mysql删除表中的某个列ALTER TABLE 表名 DROP COLUMN 列名; 4//<button>根据id方法produceviaNo()传值,在()里可以写值 <button οnclick="produceviaNo(${p.fid})">不通过</button>5//乡级审核不通过 ${p.address}
function produceviaNo(fid){ var a=1; alert("审核不通过"); $.ajax({ async: false, type: "post", data:"m_s_no="+a, url: "<%=path%>/townshipManagementHuang_sp/auditNoXm.action?fid="+fid, success: function(data){ alert("123"); $("#content")[0].innerHTML=data; }6//disabled="true "此果文字会变成灰色,不可编辑。readOnly="true" 文字不会变色,也是不可编辑的
7.只显示input下边框
<input style="border-left-width:0px">设置左边框宽度为0<br><hr>8.使用ajax实现form表单提交数据
<form action="<%=path%>/smallTowns_sp/jiade.action" id="confirmationTask"><button οnclick="confirmationTask('confirmationTask')">确认接收</button><br>其中 confirmationTask 是function后面的名字 1.ajax中获取《form》中input id的值var v = $("#address").val();--------------------------------------------------------------------------------------------------------------------------
总结ssh增删改(一)增加 1:form表单 <form id="tianjiaid" method="post"> 乡镇:<input type="text" name="smalltowns.Smalltownsname"><br> 乡镇:<input type="text" name="smalltowns.Attribute"><br> <button οnclick="tianjiaa(tianjiaid)">添加</button> </form>2:js
function tianjiaa(){ alert("进入保存ajax的添加"); var a=1; $.ajax({ async: false, type: "post", data:$('#tianjiaid').serialize(), url: "<%=path%>/smallTowns_sp/tianjiakaishi.action", success: function(data){ alert("123"); $("#reviseview")[0].innerHTML=data; } }); }3:action
public String tianjiakaishi(){ System.out.println("得呆滞"); System.out.println(smalltowns.getSmalltownsname()); System.out.println(smalltowns.getAttribute()); //villageOperationManager.addGoods(goods); smallTownsManager.tianjia(smalltowns); return "tianjiakaishiok"; } 4:接口 public void tianjia(Smalltowns smalltowns); 5:接口实现类 @Override public void tianjia(Smalltowns smalltowns) { // TODO Auto-generated method stub System.out.println("产品添加"); System.out.println(smalltowns.getSmalltownsname()); System.out.println(smalltowns.getAttribute()); this.getHibernateTemplate().save(smalltowns); System.out.println("ede1"); System.out.println(this.getHibernateTemplate().save(smalltowns)); }
(二)修改 1:jsp页面 <form method="post" id="selectForm"> <h4 align="center">乡镇简介</h4> <c:forEach items="${pm.list}" var="p"> <p>id:<b><input type="text" value=${p[0].id } id="fid" name="smalltowns.id"></b></p> <p>欢迎:<b><input type="text" value=${p[0].smalltownsname} id="smalltownsname" name="smalltowns.Smalltownsname"></b>(乡)镇登录</p> </c:forEach> <button οnclick="modifySave(selectForm)">修改</button> </form>
2:ajax //修改js function modifySave(){ var a=1; $.ajax({ async: false, type: "post", //data: {"fid":fid,"smalltownsname":smalltownsname,"attribute":attribute,"identifier":identifier}, data:$('#selectForm').serialize(), url: "<%=path%>/smallTowns_sp/modifySaveXm.action", success: function(data){ alert("123"); $("#reviseview")[0].innerHTML=data; } }); } 3:action() public String modifySaveXmAc(){ System.out.println("得到值1"); System.out.println(smalltowns.getId()); System.out.println("得到值2"); System.out.println(smalltowns.getSmalltownsname()); smallTownsManager.modifySave(smalltowns); return "modifySaveXmAcok"; } 4:接口 public void modifySave(Smalltowns smalltowns);
5:接口实现类
@Override public void modifySave(Smalltowns smalltowns) { // TODO Auto-generated method stub System.out.println("进入修改impl"); Query query=this.getSession().createQuery("update Smalltowns s set s.Smalltownsname=? where s.id=?") .setParameter(0, smalltowns.getSmalltownsname()).setParameter(1, smalltowns.getId()); query.executeUpdate(); System.out.println("修改完成"); }(三)删除 (1)jsp略 (2)ajax略 (3)xml略 (4)action public String shanchu(){ //int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id")); int id=7; smallTownsManager.shanchu(id); return "shanchuok"; }(5)接口
public void shanchu(int id); (6)接口实现类 @Override public void shanchu(int id) { // TODO Auto-generated method stub System.out.println("删除产品"); Session s=this.getSession(); s.beginTransaction(); List<Smalltowns> list=(List<Smalltowns>)s.createQuery("select g from Smalltowns g where g.id="+id).list(); Smalltowns sm=list.get(0); s.delete(sm); s.getTransaction().commit(); }(四)查询
(一)单表 (1)接口实现类 @Override public PagerModel smallTownsAuditing(int offset, int pagesize) { // TODO Auto-generated method stub System.out.println("进入"); String hql="select s from Shenhe s"; System.out.println("hql------"); return this.searchPaginated(hql, offset, pagesize); } (2)接口 public PagerModel smallTownsAuditing(int offset,int pagesize);(3)action
public String smallTownsAuditingAc(){ System.out.println("产品查询审核跳转"); int offset = 0; try { offset = Integer.parseInt(ServletActionContext.getRequest() .getParameter("pager.offset")); } catch (RuntimeException e) { System.out.println("异常"); } int pagesize = 10; System.out.println(" 火1"); pm = smallTownsManager.smallTownsAuditing(offset, pagesize); System.out.println(" 火2"); ServletActionContext.getRequest().setAttribute("pmm", pm); System.out.println(" 火3"); return "smallTownsAuditingAcok"; } (4)jsp略 (5)ajax略 (6)xml空间略
(二)多表 (1)@Override public PagerModel indicationSmallTowns(int offset, int pagesize) { // TODO Auto-generated method stub System.out.println("进入首页乡镇显示的imp"); String hql="select s,sm,s.Smalltownsname from Smalltowns s,Smalltownsabstract sm where s.sid=sm.sid and s.id=1"; System.out.println("hql------"); return this.searchPaginated(hql, offset, pagesize); } 注意:前台显示时:第一个表用${p[0].identifier },第二个显示用${p[1].属性 } (2)(3)(4)(5)(6)类似 (五)登录验证 (1)Action int i=smallTownsManager.yanzheng(smalltownspsw); System.out.println(i); if(i==1){ return "pageJumpacok"; } else{return "";} } (2)impi String[] b=new String[]{smalltownspsw.getUsersName(),smalltownspsw.getUsersPassword()}; List a=super.getHibernateTemplate() .find("from Smalltownspsw t WHERE t.usersName=? and usersPassword=?" ,b); if(a.size()>0){ System.out.println("登录"); return 1; }else{ System.out.println("错误"); return 0; } (3)接口 public int yanzheng(Smalltownspsw smalltownspsw);(六)根据id查询值类似上面,注意:(1)接口public PagerModel xiangxirealize(int offset, int pagesize,String sid);(2)Actionpublic String xiangqing(){ System.out.println(1); HttpServletRequest request=ServletActionContext.getRequest(); String sid=(String)request.getParameter("id"); System.out.println("sid值为"+sid); int offset = 0; try { offset = Integer.parseInt(ServletActionContext.getRequest() .getParameter("pager.offset")); } catch (RuntimeException e) { System.out.println("异常"); } int pagesize = 10; System.out.println(" 火1"); pm = smallTownsManager.xiangxirealize(offset, pagesize,sid); System.out.println(" 火2"); ServletActionContext.getRequest().setAttribute("pm", pm); System.out.println(" 火3"); return "xiangqingok"; }(3)impI@Override public PagerModel xiangxirealize(int offset, int pagesize,String sid) { System.out.println("详细信息"); System.out.println("乡镇点击接收任务,查询显示的impI"); String hql="from Goods a where a.id="+sid; return this.searchPaginated(hql, offset, pagesize); } (六)条件查询(1)jsp: <form action="<%=path%>/smallTowns_sp/conditionSelect.action" method="post" id="conditionId" > 供货人身份证:<input type="text" id="address" name="warehouseproduct.figureName" /> <button οnclick="condition('conditionId')">查询</button> </form>(2)js function condition(){ alert("条件查询456"); var v = $("#address").val(); alert(v); var a=1; $.ajax({ async: false, type: "post", data:"v="+v, url: "<%=path%>/smallTowns_sp/conditionSelect.action", success: function(data){ alert("456"); $("#view")[0].innerHTML=data; } }); }
(3)action
//条件查询功能 conditionSelectAc public String conditionSelectAc(){ int rid=Integer.parseInt(ServletActionContext.getRequest().getSession().getAttribute ("rid").toString()); System.out.println("进入条件查询action"); HttpServletRequest request=ServletActionContext.getRequest(); String aa=(String)request.getParameter("v"); System.out.println("值"); System.out.println(rid); int offset = 0; try { offset = Integer.parseInt(ServletActionContext.getRequest() .getParameter("pager.offset")); } catch (RuntimeException e) { System.out.println("异常"); } int pagesize = 10; System.out.println(" 火1"); pm = smallTownsManager.conditionalInterface(offset, pagesize,aa); System.out.println(" 火2"); ServletActionContext.getRequest().setAttribute("pm", pm); System.out.println(" 火3"); return "conditionSelectAcok"; }(4)
/** * 条件查询,查询村级商品 * */ @Override public PagerModel conditionalInterface(int offset, int pagesize ,String aa) { System.out.println("进入impl"); String hql = "from Goods g where g.sfzheng like :sfzheng"; String countHql = "select count(*) " + hql; Query query = this.getSession().createQuery(countHql); query = query.setParameter("sfzheng", "%"+aa+"%"); int total = ((Long)query.uniqueResult()).intValue(); query = this.getSession().createQuery(hql); query = query.setParameter("sfzheng", "%"+aa+"%"); query.setFirstResult(offset);//设置查询返回记录的开始位置 query.setMaxResults(pagesize);//返回记录每页显示的条数上限 List<?> list = query.list(); PagerModel pm = new PagerModel(); pm.setList(list); pm.setTotal(total); return pm; }--------------------------------------------------------------------------------------------------------------------------
(1)eclipse安装svn的教程: http://jingyan.baidu.com/article/63f236280a37680208ab3db7.html (2)前台css的图片相对路径加载background: url(../../img/hcfimg/bg1.png) no-repeat center center fixed;第一个../ 是项目名字第二个../是WebContent文件夹--------------------------------------------------------------------------------------------------------------------------http://blog.csdn.net/seng3018/article/details/6824905这个路径是ssh中:如何访问数据库?我们有两个选择:getSession().createQuery("from Users");getHibernateTemplate().find( "FROM Users);--------------------------------------------------------------------------------------------------------------------------
http://www.cnblogs.com/tuhooo/p/6491906.htmlssh的整合简介--------------------------------------------------------------------------------------------------------------------------
http://blog.csdn.net/key0323/article/details/50773499struts的简单配置网址,初级很实用自己总结struts框架简单搭建步骤1:首先修改web.xml文件,加载 <filter-name >struts2 </filter-name > <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </ filter> < filter-mapping> <filter-name >struts2 </filter-name > <url-pattern >/* </url-pattern > </ filter-mapping></span> 通过这段代码进入struts.xml2.然后通过struts.xml进入action,01.<span style="font-size:18px;"><struts> 02. <package name ="welcomePackage" extends="struts-default"> 03. <action name ="first"> 04. <result >/first.jsp </result > 05. </action > 06. </package > 07.</struts></span> 注意:<action>标签里写的是action的名字<result>标签里写的是处理过后返回的页面,这里没有写result的name属性,默认为success也就是处理成功返回的页面,关于Action中自带的5中状态,这里不再多讲。
--------------------------------------------------------------------------------------------------------------------------
String hql="select g,c.cname from Goods g,Category c where c.id=g.cid";前台接收时,如果想要接收c.cname用${p[1]},而不是${[1].cname}等什么的 --------------------------------------------------------------------------------------------------------------------------通过onclick的点击进入ajax或js事件得到<td>里面的值,放入ajax,js中οnclick="xiangqing(${p[0].id })//详细信息xiangqing function xiangqing(id){ alert(id); alert("详细信息"); //var v = $("#address").val(); var vv=$("#sid").val(); alert(vv); var v=document.getElementById("sid").innerText; alert(v); var a=1; $.ajax({ async: false, type: "post", data:"a="+a, url: "<%=path%>/smallTowns_sp/xiangqing.action?id="+id, success: function(data){ alert("123"); $("#view")[0].innerHTML=data; } }); }--------------------------------------------------------------------------------------------------------------------------(1)data传值data:{"v":v,"v1":v1},---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(1)B/S与C/S大致区别
https://jingyan.baidu.com/article/b0b63dbfc9a2874a483070c0.html(2)
J2EE 动态网站J2SE java核心基础 CS端J2ME 手机java端(3)service和dao层作用http://blog.csdn.net/Ani521smile/article/details/51460382(4)(1)
String b= ServletActionContext.getRequest().getSession().getAttribute("rid").toString();(2)
从他们的返回类型基本可以看出它们之间的区别execute返回boolean类型,查询结果是resultset且有值则返回true,其他都返回falseexecuteQuery返回结果集ResultSet。主要针对查询语句,返回查询结果executeUpdate返回int类型。更新、删除等操作影响的数目(3)连接本机
--------------------------------------------------------------------------------------------------------------------------(1)js的encodeURI() 函数运用http://www.w3school.com.cn/jsref/jsref_encodeuri.asp(2)json基本教程演示,json菜鸟教程http://www.runoob.com/json/json-syntax.html(3):json转换http://ouapi.com/tool/json-------------------------------------------------------------------------------------------------------------------------hbm.xml中的name是实体类里面的值<property name="yh_id" type="int"></property>-------------------------------------------------------------------------------------------------------------------------网络学习2017/8/14(1)什么是EJB,服务器集群,都是干嘛的?黄超凡总结:EJB就是在本机依靠RMI进行通信,调用写在服务器的类。服务器集群,就是一个软件的几个类调用多个服务器中的类,分担主服务器压力。(2)如何给文件夹加密,方法(1),通过右键然后有个添加密码
注意点1:Query转int类型,如下:
String hql="select f.weight from Farmuserscai f where f.yhid="+yhid+" and f.caiid="+caiid;
Query query = this.getSession().createQuery(hql); return ((Integer)query.uniqueResult()).intValue();注意点2:Gson转String类型的json数据,这个主要可以转换一个实体类
String hql = "from Farmdt ft order by ft.dttime desc";
List<Farmdt> selectList = (List<Farmdt>) sharedFarmUsersManager.selectList(hql , values); Gson gson = new Gson(); String json = gson.toJson(selectList);out.println(json);
注意点3:使用JSONArray和JSONObject转换数据,这个转换多个类
JSONArray jsonArray=new JSONArray();
if(list!=null&&list!=""){
for(int i=0;i<list.size();i++){
Object[] obj = list.get(i);
JSONObject da = new JSONObject();
da.put("ncname",obj[0]); da.put("dpname",obj[1]);}
jsonArray.add(da);
}
String data = jsonArray.toString();
out.print(data);