您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页Java连接MySql数据库,并且实现增删改查功能(精)

Java连接MySql数据库,并且实现增删改查功能(精)

来源:宝玛科技网


Java连接MySql数据库,并且实现增删改查功能!

这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08,Eclipse3.1。下面我把在Eclipse3.1下怎样配置数据库连接信息简单说一下。

1.启动Eclipse3.1。

2.建立一个Java project就叫DbConnect 吧,再在该Project下建立一个新类也叫DbConnect 吧。

3.右击DbConnect.java文件点import,选择Archive file然后选择你的

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的网站上去下载,这个网上到处都是,我就不多说

了。下面看程序,有些地方我写了详细的注释应该能看懂。这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。多指教,谢谢!

/**

* 数据库连接、选择、更新、删除演示

*/

//import java.sql.*;

import java.sql.Connection;

import java.sql.Statement;

import java.sql.ResultSet;

import java.sql.DriverManager;

import java.util.*;

public class DbConnect

{

/////////////////////////////////////////———–>>>数据成员 and 构造函数

private Connection dbconn;

private Statement dbstate;

private ResultSet dbresult;

DbConnect(

{

dbconn = null;

dbstate = null;

dbresult = null;

}

/////////////////////////////////////////———–>>>类方法

public void print(String str//简化输出

{

System.out.println(str;

}//end print(…

/**

* 连接MySql数据库

* @param host

* @param port

* @param dbaName

* @param usName

* @param psw

* @return bool值,连接成功返回真,失败返回假

*/

public boolean dbConnection(String host, String port, String dbaName, String usName, String psw

{

String driverName = \"com.mysql.jdbc.Driver\";//\"org.gjt.mm.mysql.Driver\"两个驱动都可以用

String dbHost = host;//数据库的一些信息

String dbPort = port;

String dbName = dbaName;

String enCoding = \"?useUnicode=true&characterEncoding=gb2312\"; //解决MySql中文问题,要连续写不能空格

String userName = usName;

String Psw = psw;

String url = \"jdbc:mysql://\" + dbHost + \":\" + dbPort + \"/\" + dbName + enCoding;

try

{

Class.forName(driverName.newInstance(;

dbconn = DriverManager.getConnection(url, userName, Psw;

//getConnection(url, userName, Psw从给的driver中选择合适的去连接数据库

//return a connection to the URL

}catch(Exception e{

print(\"url = \" + url; //发生错误时,将连接数据库信息打印出来

print(\"userName = \" + userName;

print(\"Psw\" + Psw;

print(\"Exception: \" + e.getMessage(;//得到出错信息

}

if (dbconn != null//dbconn != null 表示连接数据库成功,由异常保证!?

return true;

else

return false;

}// end boolean dbConnection(…

/**

* 对数据库表进行选择操作!

* @param tableName 数据库表名

* @param fieles 字段名

* @param selCondition 选择条件

* @return 一个含有map的List(列表)

*/

public ArrayList dbSelect(String tableName, ArrayList fields, String selCondition

{

ArrayList mapInList = new ArrayList(;

String selFields = \"\";

for (int i = 0; i

selFields += fields.get(i + \

String selFieldsTem = selFields.substring(0, selFields.length( – 2;//根据String的索引提取子串

try{

dbstate = dbconn.createStatement(;

String sql = \"select \" + selFieldsTem + \" from \" + tableName + selCondition;

print(\"sql = \" + sql;

try{

dbresult = dbstate.executeQuery(sql;

}catch(Exception err{

print(\"Sql = \" + sql;

print(\"Exception: \" + err.getMessage(;

}

pspan while(dbresult.next({ pspan Map selResult = new HashMap(;

selResult.put(\"message_type\

selResult.put(\"message_content\

mapInList.add(selResult;

}

}catch(Exception e{

print(\"Exception: \" + e.getMessage(;

}

return mapInList;

}//end String dbSelect(…

/**

* 对数据库表中的记录进行删除操作

* @param tableName

* @param condition

* @return bool值,表示删除成功或者失败。

*/

public boolean dbDelete(String tableName, String condition

{//——–>>>删除操作

boolean delResult = false;

String sql = \"delete from \" + tableName + \" \" + condition;

try{

dbstate.executeUpdate(sql; //return int // int delRe = ??

delResult = true;

}catch(Exception e{

print (\"sql = \" + sql;

print (\"Exception: \" + e.getMessage(;

}

if (delResult

return true;

else

return false;

}//end dbDelete(…

/**

* 对数据库表中记录进行更新操作

* @param tabName

* @param reCount

* @return bool值,成功返回true,失败返回false

*/

public boolean dbUpdate(String tabName, HashMap reCount, String upCondition

{

boolean updateResult = false;

String Values = \"\";

Iterator keyValues = reCount.entrySet(.iterator(;

for(int i = 0; i

{

Map.Entry entry = (Map.Entry keyValues.next(;

Object key = entry.getKey(;

Object value = entry.getValue(;

Values += key + \"=\" + \"’\" + value + \"’\" + \

}

String updateValues = Values.substring(0, Values.length( – 2;

String sql = \"update \" + tabName + \" set \" + updateValues + \" \" + upCondition;

try

{

dbstate.executeUpdate(sql;

updateResult = true;

}catch(Exception err{

print(\"sql = \" + sql;

print(\"Exception: \" + err.getMessage(;

}

if (updateResult

return true;

else

return false;

}//end dbUpdate(…

/**

* 对数据库表进行插入操作

* @param tabName

* @param hm

* @return bool值,成功返回true,失败返回false

*/

public boolean dbInsert(String tabName, HashMap values

{

String sql = \"\";

String insertFields = \"\

String insertValues = \"\

boolean insertResult = false;

Iterator keyValues = values.entrySet(.iterator(;

for(int i = 0; i

{

Map.Entry entry = (Map.Entry keyValues.next(;

Object key = entry.getKey(;

Object value = entry.getValue(;

temFields += key + \

temValues += \"’\" + value + \"’\" + \

}

insertFields = temFields.substring(0, temFields.length( – 2;

insertValues = temValues.substring(0, temValues.length( – 2;

sql += \"insert into \" + tabName + \" (\" + insertFields + \" values\" + \"(\" + insertValues + \"\";

try

{

dbstate.executeUpdate(sql;

insertResult = true;

}catch(Exception e{

print(\"Sql = \" + sql;

print(\"Exception: \" + e.getMessage(;

}

if (insertResult

return true;

else

return false;

}//end dbInsert(…

/**

* 断开数据库

* @return bool值,成功返回true,失败返回false

*/

public boolean dbClose(

{

boolean closeResult = false;

try

{

dbconn.close(;

closeResult = true;

}catch(Exception e{

print(\"Exception: \" + e.getMessage(;

}

if (closeResult

return true;

else

return false;

}//end dbClose(

/*/////////////////////////////////////////———–>>>入口主函数 */

public static void main(String[] args

{

DbConnect dc = new DbConnect(;

//连接数据库用到的一些参数.

String dbHost = \"localhost\";

String dbPort = \"3306\";

String dbName = \"feast\";

String dbuserName = \"root\";

String dbpsw = \"\";

boolean con = dc.dbConnection(dbHost, dbPort, dbName, dbuserName, dbpsw; //连接数据库

if (con

{

ArrayList fields = new ArrayList(;

fields.add(\"message_content\";

fields.add(\"message_type\";

Map lmap = new HashMap(;

String selCondition = \" where message_type = 1 limit 2\";

ArrayList str = dc.dbSelect(\"feast\—>>>选择记录

if (str.size( != 0{

dc.print(\"select OK!\";

dc.print(\"str’s size = \" + str.size(;

for(int i = 0; i

lmap = (HashMapstr.get(i;

dc.print(\"lmap = \" + lmap;

}

}

}

else

dc.print(\"fail\";

String tableName = \"feast\";

String condition = \"where message_type = 5\";

boolean del = dc.dbDelete(tableName, condition;//—>>>删除数据

if ( del

dc.print(\"delete ok\";

else

dc.print(\"delete error!\";

HashMap m = new HashMap(;

m.put(\"message_content\

m.put(\"message_number\

String upCondition = \"where message_type = 4\";

boolean ur = dc.dbUpdate(\"feast\—>>>更新数据

if ( ur

dc.print(\"update OK\";

else

dc.print(\"update error!\";

HashMap mm = new HashMap(;

mm.put(\"message_number\

mm.put(\"message_content\

mm.put(\"message_type\

boolean in = dc.dbInsert(\"feast\—>>>插入

if (in

dc.print(\"insert OK\";

else

dc.print(\"insert error!\";

boolean close = dc.dbClose(;//—–>断开数据库

if (close

dc.print(\"close OK\";

else

dc.print(\"close fail\";

}//end main(

}//end class DbConnect

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务