Java连接MySql数据库并且实现增删改查功能精.docx
《Java连接MySql数据库并且实现增删改查功能精.docx》由会员分享,可在线阅读,更多相关《Java连接MySql数据库并且实现增删改查功能精.docx(10页珍藏版)》请在冰豆网上搜索。
Java连接MySql数据库并且实现增删改查功能精
Java连接MySql数据库,并且实现增删改查功能!
这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是j2sdk1.4.2_08,Eclipse3.1。
下面我把在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;
else
returnfalse;
}//endbooleandbConnection(…
/**
*对数据库表进行选择操作!
*@paramtableName数据库表名
*@paramfieles字段名
*@paramselCondition选择条件
*@return一个含有map的List(列表)
*/
publicArrayListdbSelect(StringtableName,ArrayListfields,StringselCondition
{
ArrayListmapInList=newArrayList(;
StringselFields="";
for(inti=0;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(;
}
pspanwhile(dbresult.next({pspanMapselResult=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;
else
returnfalse;
}//enddbDelete(…
/**
*对数据库表中记录进行更新操作
*@paramtabName
*@paramreCount
*@returnbool值,成功返回true,失败返回false
*/
publicbooleandbUpdate(StringtabName,HashMapreCount,StringupCondition
{
booleanupdateResult=false;
StringValues="";
IteratorkeyValues=reCount.entrySet(.iterator(;
for(inti=0;i
{
Map.Entryentry=(Map.EntrykeyValues.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;
else
returnfalse;
}//enddbUpdate(…
/**
*对数据库表进行插入操作
*@paramtabName
*@paramhm
*@returnbool值,成功返回true,失败返回false
*/
publicbooleandbInsert(StringtabName,HashMapvalues
{
Stringsql="";
StringinsertFields="",temFields="";
StringinsertValues="",temValues="";
booleaninsertResult=false;
IteratorkeyValues=values.entrySet(.iterator(;
for(inti=0;i
{
Map.Entryentry=(Map.EntrykeyValues.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;
else
returnfalse;
}//enddbInsert(…
/**
*断开数据库
*@returnbool值,成功返回true,失败返回false
*/
publicbooleandbClose(
{
booleancloseResult=false;
try
{
dbconn.close(;
closeResult=true;
}catch(Exceptione{
print("Exception:
"+e.getMessage(;
}
if(closeResult
returntrue;
else
returnfalse;
}//enddbClose(
/*/////////////////////////////////////////———–>>>入口主函数*/
publicstaticvoidmain(String[]args
{
DbConnectdc=newDbConnect(;
//连接数据库用到的一些参数.
StringdbHost="localhost";
StringdbPort="3306";
StringdbName="feast";
StringdbuserName="root";
Stringdbpsw="";
booleancon=dc.dbConnection(dbHost,dbPort,dbName,dbuserName,dbpsw;//连接数据库
if(con
{
ArrayListfields=newArrayList(;
fields.add("message_content";
fields.add("message_type";
Maplmap=newHashMap(;
StringselCondition="wheremessage_type=1limit2";
ArrayListstr=dc.dbSelect("feast",fields,selCondition;//—>>>选择记录
if(str.size(!
=0{
dc.print("selectOK!
";
dc.print("str’ssize="+str.size(;
for(inti=0;i
lmap=(HashMapstr.get(i;
dc.print("lmap="+lmap;
}
}
}
else
dc.print("fail";
StringtableName="feast";
Stringcondition="wheremessage_type=5";
booleandel=dc.dbDelete(tableName,condition;//—>>>删除数据
if(del
dc.print("deleteok";
else
dc.print("deleteerror!
";
HashMapm=newHashMap(;
m.put("message_content","ookkk";
m.put("message_number","9";
StringupCondition="wheremessage_type=4";
booleanur=dc.dbUpdate("feast",m,upCondition;//—>>>更新数据
if(ur
dc.print("updateOK";
else
dc.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";
else
dc.print("inserterror!
";
booleanclose=dc.dbClose(;//—–>断开数据库
if(close
dc.print("closeOK";
else
dc.print("closefail";
}//endmain(
}//endclassDbConnect