天之火–Qutr的专栏
君子终日乾乾,夕惕若,厉,无咎。
∙ Home
Java连接MySql数据库,并且实现插入、删除、更新、选择操作!
这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08,Eclipse3.1。以前我的同事用Python写了同样的类,非常的好用,支持了我们公司的大部分业务,现在我们慢慢改用Java了,所以我用Java重写了一遍。一方面在今后的业务中能够用到,另一方面熟悉一下Java。
下面我把在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值,连接成功返回真,失败返回假
java的jdbc连接数据库 */
public boolean dbConnection(String host, String port, String dbaName, String usName, String psw)
{
String driverName = "sql.jdbc.Driver";//"sql.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 = Connection(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<fields.size(); ++i)
selFields += (i) + ", ";
String selFieldsTem = selFields.substring(0, selFields.length() – 2);//根据String的索引提取子串
try{
dbstate = ateStatement();
String sql = "select " + selFieldsTem + " from " + tableName + selCondition;
print("sql = " + sql);
try{
dbresult = uteQuery(sql);
}catch(Exception err){
print("Sql = " + sql);
print("Exception: " + Message());
}
()){
Map selResult = new HashMap();
selResult.put("message_type", String("message_type"));
selResult.put("message_content", String("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{
uteUpdate(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)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论