您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Java连接MySql数据库-并且实现插入、删除、更新、选择操作
天之火–Qutr的专栏君子终日乾乾,夕惕若,厉,无咎。HomeJava连接MySql数据库,并且实现插入、删除、更新、选择操作!这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是j2sdk1.4.2_08,Eclipse3.1。以前我的同事用Python写了同样的类,非常的好用,支持了我们公司的大部分业务,现在我们慢慢改用Java了,所以我用Java重写了一遍。一方面在今后的业务中能够用到,另一方面熟悉一下Java。下面我把在Eclipse3.1下怎样配置数据库连接信息简单说一下。1.启动Eclipse3.1。2.建立一个Javaproject就叫DbConnect吧,再在该Project下建立一个新类也叫DbConnect吧。3.右击DbConnect.java文件点import,选择Archivefile然后选择你的mysql-connector-java-3.1.8-bin.jar文件,点Finish。你会看到有好些文件被加载进来,OK这就是连接MySql所需的驱动信息。如果到了这里你都成功的话那么恭喜你,你已经成功一半了!:)4.接下来把我下面的代码copy到你的Java文件中,修改相关的数据库连接信息运行一下。OK?我说一下那个mysql-connector-java-3.1.8-bin.jar文件,其实这就是一个MySql的驱动,各数据库厂商提供了不同的适用于JDBC的驱动使得在Java中连接数据库非常简单。这里我就不多说了,以后我会写篇专门介绍数据库驱动的文章。关于MySql的驱动还有更新版本的,你需要到MySql的网站上去下载,这个网上到处都是,我就不多说了。下面看程序,有些地方我写了详细的注释应该能看懂。这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。多指教,谢谢!/***数据库连接、选择、更新、删除演示*///importjava.sql.*;importjava.sql.Connection;importjava.sql.Statement;importjava.sql.ResultSet;importjava.sql.DriverManager;importjava.util.*;publicclassDbConnect{/////////////////////////////////////////———–数据成员and构造函数privateConnectiondbconn;privateStatementdbstate;privateResultSetdbresult;DbConnect(){dbconn=null;dbstate=null;dbresult=null;}/////////////////////////////////////////———–类方法publicvoidprint(Stringstr)//简化输出{System.out.println(str);}//endprint(…)/***连接MySql数据库*@paramhost*@paramport*@paramdbaName*@paramusName*@parampsw*@returnbool值,连接成功返回真,失败返回假*/publicbooleandbConnection(Stringhost,Stringport,StringdbaName,StringusName,Stringpsw){StringdriverName=com.mysql.jdbc.Driver;//org.gjt.mm.mysql.Driver两个驱动都可以用StringdbHost=host;//数据库的一些信息StringdbPort=port;StringdbName=dbaName;StringenCoding=?useUnicode=true&characterEncoding=gb2312;//解决MySql中文问题,要连续写不能空格StringuserName=usName;StringPsw=psw;Stringurl=jdbc:mysql://+dbHost+:+dbPort+/+dbName+enCoding;try{Class.forName(driverName).newInstance();dbconn=DriverManager.getConnection(url,userName,Psw);//getConnection(url,userName,Psw)从给的driver中选择合适的去连接数据库//returnaconnectiontotheURL}catch(Exceptione){print(url=+url);//发生错误时,将连接数据库信息打印出来print(userName=+userName);print(Psw+Psw);print(Exception:+e.getMessage());//得到出错信息}if(dbconn!=null)//dbconn!=null表示连接数据库成功,由异常保证!?returntrue;elsereturnfalse;}//endbooleandbConnection(…)/***对数据库表进行选择操作!*@paramtableName数据库表名*@paramfieles字段名*@paramselCondition选择条件*@return一个含有map的List(列表)*/publicArrayListdbSelect(StringtableName,ArrayListfields,StringselCondition){ArrayListmapInList=newArrayList();StringselFields=;for(inti=0;ifields.size();++i)selFields+=fields.get(i)+,;StringselFieldsTem=selFields.substring(0,selFields.length()–2);//根据String的索引提取子串try{dbstate=dbconn.createStatement();Stringsql=select+selFieldsTem+from+tableName+selCondition;print(sql=+sql);try{dbresult=dbstate.executeQuery(sql);}catch(Exceptionerr){print(Sql=+sql);print(Exception:+err.getMessage());}while(dbresult.next()){MapselResult=newHashMap();selResult.put(message_type,dbresult.getString(message_type));selResult.put(message_content,dbresult.getString(message_content));mapInList.add(selResult);}}catch(Exceptione){print(Exception:+e.getMessage());}returnmapInList;}//endStringdbSelect(…)/***对数据库表中的记录进行删除操作*@paramtableName*@paramcondition*@returnbool值,表示删除成功或者失败。*/publicbooleandbDelete(StringtableName,Stringcondition){//——–删除操作booleandelResult=false;Stringsql=deletefrom+tableName++condition;try{dbstate.executeUpdate(sql);//returnint//intdelRe=??delResult=true;}catch(Exceptione){print(sql=+sql);print(Exception:+e.getMessage());}if(delResult)returntrue;elsereturnfalse;}//enddbDelete(…)/***对数据库表中记录进行更新操作*@paramtabName*@paramreCount*@returnbool值,成功返回true,失败返回false*/publicbooleandbUpdate(StringtabName,HashMapreCount,StringupCondition){booleanupdateResult=false;StringValues=;IteratorkeyValues=reCount.entrySet().iterator();for(inti=0;ireCount.size();++i){Map.Entryentry=(Map.Entry)keyValues.next();Objectkey=entry.getKey();Objectvalue=entry.getValue();Values+=key+=+’+value+’+,;}StringupdateValues=Values.substring(0,Values.length()–2);Stringsql=update+tabName+set+updateValues++upCondition;try{dbstate.executeUpdate(sql);updateResult=true;}catch(Exceptionerr){print(sql=+sql);print(Exception:+err.getMessage());}if(updateResult)returntrue;elsereturnfalse;}//enddbUpdate(…)/***对数据库表进行插入操作*@paramtabName*@paramhm*@returnbool值,成功返回true,失败返回false*/publicbooleandbInsert(StringtabName,HashMapvalues){Stringsql=;StringinsertFields=,temFields=;StringinsertValues=,temValues=;booleaninsertResult=false;IteratorkeyValues=values.entrySet().iterator();for(inti=0;ivalues.size();++i){Map.Entryentry=(Map.Entry)keyValues.next();Objectkey=entry.getKey();Objectvalue=entry.getValue();temFields+=key+,;temValues+=’+value+’+,;}insertFields=temFields.substring(0,temFields.length()–2);insertValues=temValues.substring(0,temValues.length()–2);sql+=insertinto+tabName+(+insertFields+)values+(+insertValues+);try{dbstate.executeUpdate(sql);insertResult=true;}catch(Exceptione){print(Sql=+sql);print(Exception:+e.getMessage());}if(insertResult)returntrue;elsereturnfalse;}//enddbInsert(…)/***断开数据库*@return
本文标题:Java连接MySql数据库-并且实现插入、删除、更新、选择操作
链接地址:https://www.777doc.com/doc-2289936 .html