如何连接java程序和数据库

如何连接java程序和数据库,第1张

for (int i = 0; i < xqListsize(); i++) {

Test test = xqListget(i);

khDaosaveOrUpdate(test);

}

在DAO层有一段代码是这么写的,这样会造成程序特别的慢,要刷很多sql,请问这个该怎么优化好?

这段代码得主要问题是 在循环里与数据库交互,xqlist数据大约几十条,这样的话就与数据库交互几十次,所以非常影响性能,我希望各位给些意见,怎么能减少与数据库的交互

可以参考:

java连接Mysq数据库,以及增删查改

package aocis;

import javasql;

impor tjavaxswing;

/

 @author acer

/

publicclassMysql {

   Connection con=null;

Statement stmt=null;

ResultSet   rs=null;

publicMysql()

{

try{

//这里使用的是Mysql

ClassforName("orggjtmmmysqlDriver");//驱动,

con = DriverManagergetConnection("jdbc:mysql://127001:3306/scutcsuseUnicode=true&characterEncoding=gbk","root","123");//连接数据库,其中useUnicode=true&characterEncoding=gbk这句是解决mysql数据库插入中文的

stmt = concreateStatement();

}catch(ClassNotFoundException e)

{

JOptionPaneshowMessageDialog(null,"未加载jdbc驱动n"+etoString());

}catch(SQLException e){

JOptionPaneshowMessageDialog(null,"数据库语法错误n"+etoString());

}

}

publicvoidsearch(String s)  //数据库查询

{

try

{

rs = stmtexecuteQuery(s);

}catch(SQLException e)

{

JOptionPaneshowMessageDialog(null,"执行查询语句出错n"+etoString());

}

}

publicintinsert(String s)  //数据库插入

{

try{

returnstmtexecuteUpdate(s);

}catch(SQLException e){

JOptionPaneshowMessageDialog(null,"执行插入语句错误n"+etoString());

}

return-1;

}

publicintdelete(String s)   //数据库删除

{

try{

returnstmtexecuteUpdate(s);

}catch(SQLException e){

JOptionPaneshowMessageDialog(null,"执行删除语句出错n"+etoString());

}

return-1;

}

publicintupdate(String s)   //数据库更新

{

try{

inttemp=stmtexecuteUpdate(s);

returntemp;

}catch(SQLException e){

JOptionPaneshowMessageDialog(null,"执行修改语句出错n"+etoString());

}

return-1;

}

publicResultSet getResultSet()   //返回查询结果集

{

returnrs;

}

publicvoidcloseConnection()    //关闭连接

{

try{

stmtclose();

conclose();

}catch(SQLException e){

JOptionPaneshowMessageDialog(null,"关闭数据库连接时错误n"+etoString());

}

}

}

使用实例:

查询:

String sql="";

Mysql mysql = newMysql();//建立连接数据库类的对象,Mysql就是上边类名

sql+="select  from login where stumber='"+jTextFieldUsergetText()+"' and                             spassword='"+jPasswordFieldgetText()+"'";//查询语句

mysqlsearch(sql);//调用函数

ResultSet rs = mysqlgetResultSet();//返回数据集

try

{

while(rsnext())//遍历

{

stumber=rsgetString(1);//在一条记录集中去除某个位置的值

}

}catch(SQLException ex)//异常处理{}

剩下的增加,删除,修改,它们三格式一样:

修改:                 sql = "update login set spassword ='"+ jPasswordFieldnewgetText() +"'  where                  stumber =  stumber";

intflag = mysqlupdate(sql);

判断如果flag大于0,那么就执行成功!

以上就是关于如何连接java程序和数据库全部的内容,包括:如何连接java程序和数据库、java多用户同时访问和数据库进行交互,如何能够高并发、JAVA如何优化DAO层与数据库交互的部分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9499396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存