仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 775|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网页设计SQL jdbc办理主动主动增加列一致处置问...

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)sql|办理|成绩sqlserver2005jdbc办理主动主动增加列一致处置成绩纪实
作者fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请说明出处
关头字:主动增加列,jdbc,sqlserver2005
背景:体系要撑持多种数据库,一致insert的时分猎取主动增加列的处置体例
成绩1:insert+select计划
sqlserver2000可使用insertSql+SELECT@@IDENTITYASIdentity的体例来取得,
可是mysql则只能利用executeUpdate(insertSql);executeQuery(SELECTlast_insert_id())如许的体例,不然会抛出非常:java.sql.SQLException:CannotissuedatamanipulationstatementswithexecuteQuery()
而两句话分隔处置,总让人感到不宁神,假如并发操纵对照多,存在潜伏的伤害
成绩2:getGeneratedKeys计划
mysql的驱动撑持jdbc3.0,完成了getGeneratedKeys()
但sqlserver2000jdbc驱动不撑持getGeneratedKeys()
办理思绪:
google了一下,听说2005是撑持的,以是下上去看看
下载地点:url:http://download.microsoft.com/download/2/8/9/289dd6a3-eeeb-46dc-9045-d0c6b59bfbc1/sqljdbc_1.1.1501.101_chs.exe
利用小结:
1.2005jdbc驱动是撑持jdbc3.0的。也就是说,切实其实撑持getGeneratedKeys()办法。
2.2005jdbc驱动url和包构造变化较年夜。
举例对照:(请细心看好了,一不当心看不出不同!)
================
2000
================
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb;SelectMethod=cursor"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
================
2005
================
url="jdbc:sqlserver://localhost:1433;DatabaseName=mydb;SelectMethod=cursor"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
假如没注重这点,势必呈现非常:CannotloadJDBCdriverclasscom.microsoft.jdbc.sqlserver.SQLServerDriver
做好第二步,呈现
3.包的地位:情况变量CLASSPATH不是必需的。但sqljdbc.jar必需安排在tomcat/common/lib中(假如是租用空间,大概得跟对方商议了,看是不是撑持2005的驱动)。
不然会产生非常:CannotloadJDBCdriverclasscom.microsoft.sqlserver.jdbc.SQLServerDriver
测试示例办法:
publicStringexecuteUpdate(Stringsql)throwsSQLException...{
Connectionconn=getConnection();
PreparedStatementpstmt=null;
try...{
/**//*注重:jdbc3.0供应了Statement.RETURN_GENERATED_KEYS"用来指明必要从Statement中取得主动增加列值,
假如不设置该参数,在实行getGeneratedKeys()时会抛出非常:"只要运转该语句,天生的键才会可用。"*/
pstmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
pstmt.executeUpdate();
ResultSetrs=pstmt.getGeneratedKeys();//为了insert筹办
if(rs.next())...{
returnrs.getString(1);
}
return"-1";
}catch(SQLExceptionex)...{
thrownewSQLException(
"实行SQL语句失利。"+
ex.toString()+
"sql:"+sql);
}finally...{
freeConnection(conn,pstmt);
}
}

自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 16:51:05 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
活着的死人 该用户已被删除
板凳
发表于 2015-1-31 07:15:53 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
海妖 该用户已被删除
地板
发表于 2015-1-31 20:45:44 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
第二个灵魂 该用户已被删除
5#
发表于 2015-2-5 05:11:16 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
乐观 该用户已被删除
6#
发表于 2015-2-5 14:20:42 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小女巫 该用户已被删除
7#
发表于 2015-2-10 23:57:48 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-1 18:05:40 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
谁可相欹 该用户已被删除
9#
发表于 2015-3-7 03:57:46 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
因胸联盟 该用户已被删除
10#
发表于 2015-3-8 14:41:20 | 只看该作者
是一种为 Internet发展的计算机语言
老尸 该用户已被删除
11#
发表于 2015-3-12 10:22:36 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
飘飘悠悠 该用户已被删除
12#
发表于 2015-3-19 20:26:47 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 01:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表