Ⅰ 如何在jsp中执行多条sql语句
jsp同时执行多条sql,需要封装成存配宽储过培亩亮程,否则效率很低,甚至会引起性能问题。
jsp触发后台java调用存储过程的例子:
进行调用的详细代码:
try{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc = connection.prepareCall("{ call set_death_age(?, ?) }");
proc.setString(1, poetName);
proc.setInt(2, age);
cs.execute();
}catch (SQLException e){ // ....}
传给prepareCall方法的字串是存储过程调用的书写规耐晌范。它指定了存储过程的名称,?代表了需要指定的参数。
Ⅱ 有关在一个java程序中同时执行多个sql指令的问题,高手来看下!
我只能提供一个思路,我的代码是这样做的。按照我这个思路改,类、方法什么的和你不一致。
Ⅲ 如何在jsp或java里面一次执行两条sql
如果是查询的清雀哗话,就只能一次一条SQL。
如果是其他的话,好像可以用批处理,Statement有一个方岁山法好像叫addBatch()你看看。答行
Ⅳ JAVA用批处理怎么执行多条SQL语句
publicintdeleteGoodsOne(Stringgoodid,intstatus){
inti=0;
Stringsql="";
conn=db.getConn();
try{
if(status==1||status==2){
sql="updategoodssetstatus=0wheregoodid=?";
//这里想增加updaterecordsetstatus=0wheregoodid=?
}else{
sql="updategoodssetstatus=1wheregoodid=?";
//这里想增加updaterecordsetstatus=0wheregoodid=?
}
//第一次执行逻辑判断sql
ps=conn.prepareStatement(sql);
ps.setString(1,goodid);
i=ps.executeUpdate();
//第二次执行更新record表的sql
sql='updaterecordsetstatus=0wheregoodid=?';
ps=conn.prepareStatement(sql);
ps.setString(1,goodid);
i=ps.executeUpdate();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
db.closeDB(conn);
}
returni;
}
Ⅳ JAVA用批处理怎么执行多条SQL语句
使用PreparedStatement的addBatch()方法添加批量sql执行,然后用executeBatch()来批量执行add进去的sql
Ⅵ java 在Oracle怎么一次执行多条sql语句,求大神!
批了执行SQL最好的办法是采用事务机制。具体网络下Java事务,以下是抄来的简单例子。
publicintdelete(intsID){
dbc=newDataBaseConnection();
Connectioncon=dbc.getConnection();
try{
con.setAutoCommit(false);//更改JDBC事务的默认提交方式
dbc.executeUpdate("deletefrombylawwhereID="+sID);
dbc.executeUpdate("deletefrombylaw_contentwhereID="+sID);
dbc.executeUpdate("deletefrombylaw_affixwherebylawid="+sID);
con.commit();//提交JDBC事务
con.setAutoCommit(true);//恢复JDBC事务的默认提交方式
dbc.close();
return1;
}
catch(Exceptionexc){
con.rollBack();//回滚JDBC事务
exc.printStackTrace();
dbc.close();
return-1;
}
}
不过仔细看楼主的设计,没必要采用多条SQL。直接String拼成update XSB set XM='FF', ZF='rj' where XH ='101102'就可以了
Ⅶ 我想问一下,Java连接数据库后,想连续执行几条SQL语句怎么做谢谢啦~
book,author"
+
"where
少了空格
,要写成
book,author
"
+
"
where
看出区别了吗?
where前面要有空格,否则sql语句连在一起,就出错啦
Ⅷ java:sql语句批量执行
public static List<List<Map<String, Object>>> getData() {
答List<List<Map<String, Object>>> data = new LinkedList<List<Map<String, Object>>>();
data.add(SQLHelper.executeQuery("select * from a"));
data.add(SQLHelper.executeQuery("select * from b"));
data.add(SQLHelper.executeQuery("select * from c"));
data.add(SQLHelper.executeQuery("select * from d"));
return data;
}
Ⅸ 在JAVA中如何一次执行多条SQL语句并返回结果
分开执行
Ⅹ java 批量执行sql语句 mysql批量执行sql语句
public static List>> getData {
List>> data = new LinkedList>>;
data.add(SQLHelper.executeQuery("select * from a"));
data.add(SQLHelper.executeQuery("select * from b"));
data.add(SQLHelper.executeQuery("select * from c"));
data.add(SQLHelper.executeQuery("select * from d"));
return data;
}
publicintdeleteGoodsOne(Stringgoodid,intstatus){
inti=0;
Stringsql="";
conn=db.getConn;
try{
if(status==1||status==2){
sql="updategoodssetstatus=0wheregoodid=?";
//这里想增加updaterecordsetstatus=0wheregoodid=?
}else{
sql="updategoodssetstatus=1wheregoodid=?";
//这里想增加updaterecordsetstatus=0wheregoodid=?
}
//第一次执行逻辑判断埋绝sql
ps=conn.prepareStatement(sql);
ps.setString(1,goodid);
i=ps.executeUpdate;
//第二次执行更新record表的sql
sql='updaterecordsetstatus=0wheregoodid=?'
ps=conn.prepareStatement(sql);
ps.setString(1,goodid);
i=ps.executeUpdate;
}catch(SQLExceptione){
e.printStackTrace;
}finally{
db.closeDB(conn);
}
returni;
}
使用PreparedStatement的addBatch方法添加批量sql执行,然后用executeBatch来批量执行add进去的sql
Connection con=.............; //这里是取得Lian接代码,省略
PrepareStatment ps=null;
String sql1="select * from test1";
String sql2="update test1 set xxx=1 ";
ps=con.prepareStatement(sql1) ;
ps.executeQuery(sql1); //(执行第一GeSQL)
ps.close; //记住每执行一个语句记得关闭,否Ze会出现游标错误
ps=con.prepareStatement(sql2) ;
ps.executeUpdate(sql2);//(执Xing第二个SQL)
ps.close; //记住每执行一个语句记得关Bi,否则会出现游标错误
con.close; //关闭连接
以上代码纯手工敲,局兆有问题追问,Xi望能解决你的问题。
标签:作文经典 上一篇:效率的名言名句 高效率做事的名句名言 下一篇:摇色子豹子什么意思 摇色子飞是什么意思import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class xxxx {
public static void main(String[] args) {
Connection con = null ;
Statement stmt = null ;
try {
Class.forName(".mysql.jdbc.Driver"); //mysql为例 Bu一样的数据库所需的驱动包不一样 连接语Ju略有不同
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/数据库名", "root", "密码");
stmt = con.createStatement;
String sql = "insert into info values ('用Hu', 'mima', 'piapiapia~')";
stmt.executeUpdate(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace;
} catch (SQLException e) {
e.printStackTrace;
} finally {
try {
if(stmt != null) {
stmt.close;
stmt = null;
}
if (con != null) {
con.close;
con = null;
}
} catch (SQLException e) {
e.printStackTrace;
}
}
}
}
建表的时候有表确实会报错,这就看你Xiang怎么处理了。
你可以不作处Li,也就是直接用那个已经存在的表,这时SQL语句可以是这样的:create table if not exists TABLE_NAME。。
也可以把已经存在的表删掉,再Zhi行你的建表语句,这时你可以这样写:
drop table TABLE_NAME if exists;然后再
create table TABLE_NAME。。。
批了执行SQL最好的办法是采用事务Ji制。具体网络下Java事务,以下是抄来De简单例子。
publicintdelete(intsID){
dbc=newDataBaseConnection;
Connectioncon=dbc.getConnection;
try{
con.setAutomit(false);//更改JDBC事务的默Ren提交方式
dbc.executeUpdate("deletefrombylawwhereID="+sID);
dbc.executeUpdate("deletefrombylaw_contentwhereID="+sID);
dbc.executeUpdate("deletefrombylaw_affixwherebylawid="+sID);
conmit;//提交JDBCShi务
con.setAutomit(true);//恢复JDBC事务的默认提交方式
dbc.close;
return1;
}
catch(Exceptionexc){
con.rollBack;//回滚JDBC事务
exc.printStackTrace;
dbc.close;
return-1;
}
}
不过仔细看楼主的设计,没必要采用Duo条SQL。直接String拼成update XSB set XM='FF', ZF='rj' where XH ='就可以了
要兼容,还是分开语句吧。多写几行代Ma而已。
sql.append("create table tempTestTable(a char(4)); ");
sql.append("alter table tempTestTable add test " + columnType + "(50);");
既然都是自己处理De,两句合成一句,不更方便
sql.append("create table tempTestTable(a " + columnType + "(50) ");
columnType 还要看可能输入的情况
使用jdbc技术,首先导入连接数据Ku的jar包,声明加载的类名,获取连接,Jin行查询,如:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
Statement sta = conn.createStatement;
ResultSet rs = sta.executeQuery("select * from tablename");
1、Connection conn = DriverManager.getConnection(URL,数据库登录Ming,数据库登录密码);//获得数据库连接。
2、Statement statement = con.createStatement; //访问数Ju库。
3、ResultSet resultSet = statement.executeQuery(sql);//执行SQL语句。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难Yi理解的多继承、指针等概念,因此JavaYu言具有功能强大和简单易用两个特征。
技术应用
1、Android应用
许多的 Android应用都是Java程序员开发者开Fa。虽然 Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机中都支持JAVA游戏,这就使很多非编程人员都认识LiaoJAVA。
2、在金融业应Yong的服务器程序
Java在金Rong服务业的应用非常广泛,很多第三方交易系Tong、银行、金融机构都选择用Java开发,Yin为相对而言,Java较安全[39]。Da型跨国投资银行用Java来编写前台和后Tai的电子交易系统,结算和确认系统,数据处Li项目以及其他项目。
3、网Zhan
Java 在电子商务领域Yi及网站开发领域占据了一定的席位。开发人Yuan可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0Yi及frameworks。即使是简单的 servlet,jsp和以struts为Ji础的网站在 *** 项目中也经常被用到。
4、嵌入式领域
Java在嵌入式领域发展空间很大。在这个平Tai上,只需130KB就能够使用Java技Shu。
5、大数据技术
Hadoop以及其他大数据处理技术Hen多都是用Java,例如Apache的基YuJava的HBase和AccumuloYi及 ElasticSearchas。
6、高频交易的空间
Java平台提高了这个平台的特性和即Shi编译,他同时也能够像 C++ 一样传递Shu据。正是由于这个原因,Java成为的程Xu员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植Xing和可维护性等问题。
7、科Xue应用
Java在科学应用中Shi很好选择,包括自然语言处理。最主要的原Yin是因为Java比C++或者其他语言相对Qi安全性、便携性、可维护性以及其他高级语Yan的并发性更好。
标签:作文经典 上一篇:效率的名言名句 高效率做事的名句名言 下一篇:摇色子豹子什么意思 摇色子飞是什么意思