- 浏览: 165117 次
- 性别:
- 来自: 杭州
最新评论
-
px96004:
不好用啊.你grails什么版本啊 我的是 2.2.3啊还有. ...
在Grails下查看真实的SQL -
扬V幻:
[flash=200,200][url][img][list] ...
Grails 复用查询条件并分页 -
yaoguanyuan:
按照上面这个例子,要是再加上查询应如何实现,能示范一下吗
jsp生成静态页并分页 -
jzzwy:
不过还是蛮精彩的 学习了很多
ibatis中动态SQL_update -
jzzwy:
UPDATE MYIVR_TUSER
<d ...
ibatis中动态SQL_update
文章列表
SpringSide出自白衣之手,里面用的是最潮的技术,而且对框架再次封装。可以说是一个最佳实践。我个人从里面学到了不少知识,写此博客记录下。再次感谢江南白衣无私奉献!!好了,废话不多说了,开始。
1. 整合技术之项目管理 Maven
SpringSide采用Maven+Nexus管理,也集成了ANT任务,先说他的Maven管理
查看 parent 文件夹里面的POM.XML文件,这里的<packaging>pom</packaging> 就是POM
他是整个构建的核心定义文件,比如JAR包版本,编译版本:1.5 1.6 ? 私服路径 ...
正在搞james这个邮件服务器,写了个邮件账户管理的类,在eclipse 里用一个test函数测试没有问题,但部署到tomcat后总是报java.lang.NoClassDefFoundError: javax/mail/Message的错误。
后来从网上下载了一个activation.jar 和 mail.jar 两个包导入tomcat的\shared\lib目录后,
又出现了新的错误,java.lang.SecurityException: SHA1 digest error for javax/mail/Message.class
最后我在网上下载了mail.jar替换了tomcat ...
1 目录分隔符
Winxp “\”
Linux “/”
解决办法 采用 File.separator
web目录
request.getSession().getServletContext().getRealPath("/")
数据库中图片目录用“/”
serverInfo_icon/icon26.gif
2 编码问题 统一采用UTF-8
winxp
Preferences--General--Workspace--Text file encoding 设置为UTF-8
...
<!-- param_5 -->
<parameterMap id="queryChar_spcall_param" class="java.util.HashMap">
<parameter property="IBEGINTIME" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="IENDT ...
背景:User Role UserRole 3个表的关系
我现在的需求:查找出所有用户,并且把他的角色也显示出来
一个用户可以有多个角色,那么User: id,name, Role
1.User ResultMap
<!-- 注意groupBy属性 -->
<resultMap id="user-result-map" class="com.mmblue.entity.system.User" groupBy="id">
<result property="id" ...
1. 杜绝SELECT *
表连接时,绝不允许写select * ,否则按照编码错误Bug处理.
单表查询,一般情况下可以使用select *,但以下几种情况禁用:
a、表中包含lob字段(BLOB、CLOB、LONG、LONG RAW等)。
b、表中包含长度较大 ...
SQL中最复杂的还是查询了,IBATIS的动态SELECT和<include/>配合起来的确很猛,
比如ORACLE中分页:
select * from (
select rownum rn, t.* from (
select * from myivr_trole -- 真正的SQL语句
) t where rownum <= ?)
where rn > ?
其实上面SQL中真正自己写的只有 select * from myivr_trole 上面的,和下面的是固定的,那么ibatis中可以这么应用
我定义2 ...
其实这个不是动态的,不过要写就把CRUD全写一边了,因为IBATIS很简单,就不放
JAVA代码,直接上XML
<delete id="delete_role_id" parameterClass="java.util.Map">
delete myivr_trole where ROLEID in
<iterate open="(" close=")" conjunction="," property="ids">
#ids[]# ...
如何知道上一篇的动态INSERT的话,动态UPDATE就很简单了,直接上XML
注意:如果<isNotEmpty>是写在一行的话,并且是第一个的话
<isNotEmpty property="realName" prepend=","><![CDATA[ REALNAME = #realName# ]]></isNotEmpty>
内容注意中间加个空格,不然会出现 update role setname=xxx 直接报错
<update id="updateRole&q ...
ibatis的动态SQL非常强大,记录一些细节的东西。
1.正常的动态INSERT,即全部遍历一次,这种是通用的,如下:
<insert id="addUser" parameterClass="com.mmblue.domain.User">
INSERT INTO USER (
<dynamic prepend=" ">
<isNotEmpty property="realName" prepend=",">REALNAME&l ...
alter table t_mip_productpackage add (type number,STATUS number); --添加一列
comment on column t_mip_productpackage.type is '类型0:新增,1:修改'; --给列添加注释
comment on column t_mip_productpackage.STATUS is '状态 0:未订购,1:已订购 ;当状态为新增时为空'; --给列添加注释
记录下,删除重复的手机号
delete stu s where s.rowid > (select min(rowid) from stu x where x.name=s.name) or length(s.name) <> 11
1
、子查询找出某员工最低的
ROWID
(肯定只有一个),其它大于这条记录
ROWID
的,全部删除。
2
、
Oracle
中使用
ROWID
删除重复记录最快
,
因为
Rowid
对应这条记录在磁盘上的位置
varchar字符串分割
- 博客分类:
- Oracle
刚写的,备份下
declare
str varchar2(100) := 'ids=121|age=1356|password=gaowei';
temp varchar2(200) := '';
s_current varchar2(200) := ''; -- 当前遍历的字符串
start_index int:=1; -- 开始索引
end_index int := 0; -- 截取多少个字符串
begin
-- 分隔str
for i ...
大家都做过SQL分页,可能做静态页分页的不多,这个东西做业务系统用不到,但是做小型企业网站用的比较多,其实像这种小型网站真是没啥技术含量,无非是文章管理,产品介绍,在线留言之类的,逻辑太过简单,也就用到了在线编辑器和前台静态化(不过也有很多公司还是直接从数据库中读的) PHP中有个Smarty模板,JAVA中有Velocity和FreeMarker,其实生成静态页和freemarker没有啥关系,你用txt,xml都行,直接也String都可以的,废话不多说了,开始。
效果图:
JAR包清单
commons-io-1.4.jar commons-lang-2.4.jar ...
这一章主要是说思路。
学习webx之前你要忘记struts,她来自turbine框架,是阿里封装过的。
这里我不用他自带的ANTX Eclipse插件创建项目,用阿里修改过的eclipse创建出来的项目和我们常用的eclipse目录结构完全不同,现在来用MyEclipse新建一个helloworld,你会更清晰明白。
第一步:如图新建项目
第二步:
前面一直没有提到ANTX的作用,OK现在派上场了
未完,明日更新。。。。。