




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 连接 MySql 数据库,并且实现增删改查功能!这是我最近写的一个连接 MySql 数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08,Eclipse3.1。下面我把在 Eclipse3.1下怎样配置数据库连接信息简单说一下。1 .启动 Eclipse3.1o2 .建立一个 Javaproject叫 DbConnect 吧,再在该 Project 下建立一个新类也叫DbConnect 吧。3 .右击 DbConnect.java 文件点 import,选择 Archivefile 然后选择你的mysql-connector-java-3.1
2、.8-bin.jar 文件,点 Finish。你会看到有好些文件被加载进来,OK 这就是连接 MySql 所需的驱动信息。如果到了这里你都成功的话那么恭喜你,你已经成功一半了!:)4 .接下来把我下面的代码 copy 到你的 Java 文件中,修改相关的数据库连接信息运行一下。OK?我说一下那个 mysql-connector-java-3.1.8-bin.jar 文件, 其实这就是一个 MySql 的驱动,各数据库厂商提供了不同的适用于 JDBC 的驱动使得在 Java 中连接数据库非常简单。这里我就不多说了,以后我会写篇专门介绍数据库驱动的文章。关于 MySql 的驱动还有更新版本的,你需
3、要到 MySql 的网站上去下载,这个网上到处都是,我就不多说了。下面看程序,有些地方我写了详细的注释应该能看懂。这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。多指教,谢谢!/*数据库连接、选择、更新、删除演示|*/importjava.sql.*;importjava.sql.Connection;importjava.sql.Statement;importjava.sql.ResultSet;importjava.sql.DriverManager;importjava.util.*;publicclassDbConnect/数据成员 and 构
4、造函数privateConnectiondbconn;privateStatementdbstate;privateResultSetdbresult;DbConnect()dbconn=null;dbstate=null;dbresult=null;/类方法publicvoidprint(Stringstr)简化输出(System.out.println(str);/endprint()/* 连接 MySql 数据库* paramhost* paramport* paramdbaName* paramusName* parampsw* returnbool 值,连接成功返回真,失败返回假*/
5、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 中文问题,
6、要连续写不能空格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 中选择合适的去连接数据库/returnaconnectiontotheURLcatch(Exceptione)prin
7、t(url=+url);/发生错误时,将连接数据库信息打印出来print(userName=+userName);print(Psw+Psw);print(Exception:+e.getMessage();/马到出错信息if(dbconn!=null)/dbconn!=null表示连接数据库成功, 由异常保证!?returntrue;elsereturnfalse;/endbooleandbConnection()/* 对数据库表进行选择操作!* paramtableName 数据库表名* paramfieles 字段名* paramselCondition 选择条件* return 一个含
8、有 map 的 List(列表)* /publicArrayListdbSelect(StringtableName,ArrayListfields,StringselCondition)ArrayListmapInList=newArrayList();StringselFields=;for(inti=0;i删除操作booleandelResult=false;Stringsql=deletefrom+tableName+condition;trydbstate.executeUpdate(sql);/returnint/intdelRe=?delResult=true;catch(Exc
9、eptione)print(sql=+sql);print(Exception:+e.getMessage();if(delResult)returntrue;elsereturnfalse;一二(dbstate.executeUpdate(sql);updateResult=true;catch(Exceptionerr)print(sql=+sql);print(Exception:+err.getMessage();if(updateResult)returntrue;print(Exception:+e.getMessage();)if(insertResult)returntrue;
10、elsereturnfalse;/enddbInsert()/* 断开数据库* returnbool 值,成功返回 true,失败返回 false* /publicbooleandbClose()booleancloseResult=false;try/enddbDelete()/*对数据库表中记录进行更新操作*paramtabName*paramreCountelsereturnfalse;/enddbUpdate()/*对数据库表进行插入操作*paramtabName*paramhmdbconn.close();closeResult=true;catch(Exceptione)print
11、(Exception:+e.getMessage();if(closeResult)returntrue;elsereturnfalse;/enddbClose()/*/入口主函数|*/publicstaticvoidmain(String 口 args)DbConnectdc=newDbConnect();/连接数据库用到的一些参数.StringdbHost=localhost;StringdbPort=3306;StringdbName=feast;StringdbuserName=root;Stringdbpsw=;booleancon=dc.dbConnection(dbHost,db
12、Port,dbName,dbuserName,dbpsw);/连接数据库if(con)ArrayListfields=newArrayList();fields.add(message_content);fields.add(message_type);MapImap=newHashMap();StringselCondition=wheremessage_type=1limit2”;ArrayListstr=dc.dbSelect(Hfeast,fields,selCondition);/选择 t 己if(str.size()!=0)dc.print(selectOK!”);dc.print
13、(strssize=+str.size();for(inti=0;i更新数据if(ur)dc.print(updateOK);elsedc.print(updateerror!);HashMapmm=newHashMap();mm.put(message_number,6);mm.put(message_content,insertefasdfas);mm.put(message_type,4);booleanin=dc.dbInsert(feast,mm);/插入if(in)dc.print(insertOK);elsedc.print(inserterror!);booleanclose=
14、dc.dbClose();,断开数据库 if(close)dc.print(closeOK);elsedc.print(closefail);/endmain()/endclassDbConnect*returnbool 值,成功返回 true,失败返回 false*/publicbooleandbUpdate(StringtabName,HashMapreCount,StringupCondition)booleanupdateResult=false;StringValues=;IteratorkeyValues=reCount.entrySet().iterator();for(inti
15、=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*returnbool 值,成功返回 true,失败返回 false*/publicboo
16、leandbInsert(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+,;inse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商标版权所有合同协议
- 民宅贴外墙合同协议
- 商场合同自行终止协议
- 正规物流运输合同协议
- 2025教育设备采购合同模板
- 快餐出租转让合同协议
- 2025激光打印机设备租赁服务合同
- 陕西省汉中市2025届高三下学期二模试题 历史 含解析
- 2025yy临时工合同协议模板
- 2025企业股权转让合同协议书范本
- 北京市顺义区2025年中考一模语文试卷(含答案)
- 室内设计毕业作业展板设计指南
- 生产委托运营合同协议
- 经济法第三版试卷及答案
- 古诗词诵读《拟行路难(其四) 》课件统编版高二语文选择性必修下册
- 《甲烷吸附储存技术》课件
- 2025年的房屋租赁合同书模板
- 冠心病气阴两虚
- 中国铁路发展史课件
- 银行车贷合同范本
- DB32T 5083-2025江苏省公共体育设施基本标准
评论
0/150
提交评论