两个周的折腾(三)——在线文本编辑器与oracle

正当觉得前方有那么一点光亮的时候,问题又出现了…没有觉得这个方法太危险了吗,恩恩,是啊,很危险…而且,人家经理要求上传的时候两个表,一个存图片,另一个存文本内容,而且两个之间有外键关联,我的天。

前天下班前经理扔下一句话:oracle里面不是有序列吗,你用序列。。。我晕,oracle这个,这个东西,太,太突然了吧,从来没有用过……脑子里就这么一个“序列”的词,回到学校,查吧,问吧,找吧,等等等等啦。

而且,针对这种方法存放图片读取图片的话,有点危险这个问题,经理要求,每次生成img标签前,从数据库里读取一个新的序列号,用ajax的方法。

想着以上这些要求,感觉以前的努力白费了,但是,总是有用的,因为之前的探索总能得出点什么知识的。昨天和今天两天的时间,好好解决这两个问题吧。

下面一点一点记录:

1、oracle中序列号

真的真的不知道oracle中的序列号是个神马东东,最后明白了,下面是在oracle中新建一个序列号和怎么获取的程序:

//查询序列的值 select userpicid_seq.nextval from dual //新建一个序列 create sequence userpicid_seq minvalue 1 maxvalue 99999999 increment by 1 start with 1; //新建触发器,插入表中对应的id create or replace trigger userpicid_tri before insert on userpic for each row begin select userpicid_seq.nextval into :new.id from dual; end;
2、oracle中实现mysql的limit方法

//实现mysql里面的limit效果 select ID from USERPIC where rownum 1 order by ID desc;

3、ajax读取序列号(jquery)

这个序列号呀,查了好长时间:

首先是java代码:

public class GetImgID extends HttpServlet{ private static Connection conn=null; private final static String READIDSQL = "select userpicid_seq.nextval from dual"; static { conn=DbConn.getConnection(); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PreparedStatement pmst =null; ResultSet rs=null; int id = 0; try { pmst = conn.prepareStatement(READIDSQL); rs= pmst.executeQuery(); if (rs.next()) { id = rs.getInt(1); PrintWriter pw ; try { pw = resp.getWriter(); pw.write(id+""); pw.flush() } catch (IOException e) { e.printStackTrace(); } } } catch (Exception e) { e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
之后用jquery中用如下方法:

$.get('http://localhost:8080/kindeditortest/GetImgID.do', function(data){ alert(data); });
这样能弹出返回的序列值了。

被这句话搞了好长时间:

pw.write(id+"");

之前写的

pw.write(id);

总是出错,后来查API才知道,记录一下:

PrintWriter的write方法,参数是String类型,所以,如果想要将数字赋值的话,要先把数字改成字符,最简单的:PrintWriter(id+"");如果不改的话,直接pw.write(12);则表示传入的是单个字符。

最最后,有一个问题要记录,那就是在js文件中怎么引入另一个js文件,因为要在js文件中引入jquery.js文件嘛,查了一下:

document.write(unescape("%3Cscript language='javascript' src='jquery.js'%3E%3C/script%3E"));

我也不知道为什么这样写,改一下src就行了。

看着微博上关于这些天新知识点的记录,想一想这两周乱七八糟的乱写乱画,压力那么大,很累,但是,也很充实,现在进行到这个程度,才完成了一半,因为,还要整合公司的框架,希望能顺利点,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值