天之火–Qutr的专栏
君子终日乾乾,夕惕若,厉,无咎。
∙ Home
Java连接MySql数据库,并且实现插入、删除、更新、选择操作!
这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08,Eclip3.1。以前我的同事用Python写了同样的类,非常的好用,支持了我们公司的大部分业务,现在我们慢慢改用Java了,所以我用Java重写了一遍。一方面在今后的业务中能够用到,另一方面熟悉一下Java。
下面我把在Eclip3.1下怎样配置数据库连接信息简单说一下。
1.启动Eclip3.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 = "sql.jdbc.Driver";//"sql.Driver"两个驱动都
可以用
String dbHost = host;//数据库的一些信息
String dbPort = port;
String dbName = dbaName;
String enCoding = "?uUnicode=true&characterEncoding=gb2312"; //解决MySql中文问题,要连续写不能空格
String urName = usName;
String Psw = psw;
String url = "jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName + enCoding;
try
{
鉴定标准 Class.forName(driverName).newInstance();
dbconn = Connection(url, urName, Psw);
//getConnection(url, urName, Psw)从给的driver中选择合适的去连接数据库
//return a connection to the URL
}catch(Exception e){
print("url = " + url); //发生错误时,将连接数据库信息打印出来
print("urName = " + urName);
print("Psw" + Psw);
print("Exception: " + e.getMessage());//得到出错信息
}
if (dbconn != null)//dbconn != null 表示连接数据库成功,由异常保证!?
return true;
el
return fal;
}// end boolean dbConnection(…)
/**
* 对数据库表进行选择操作!
* @param tableName 数据库表名
* @param fieles 字段名
* @param lCondition 选择条件
* @return 一个含有map的List(列表) 转眼间的近义词
*/
public ArrayList dbSelect(String tableName, ArrayList fields, String lCondition)
{
ArrayList mapInList = new ArrayList();
String lFields = "";中式点心
for (int i = 0; i<fields.size(); ++i)
lFields += (i) + ", ";
String lFieldsTem = lFields.substring(0, lFields.length() – 2);//根据String的索引提取子串
try{
dbstate = ateStatement();
String sql = "lect " + lFieldsTem + " from " + tableName + lCondition;
print("sql = " + sql);
try{
dbresult = uteQuery(sql);
}catch(Exception err){
print("Sql = " + sql);
print("Exception: " + Message());
}
()){
Map lResult = new HashMap();
lResult.put("message_type", String("message_type"));
lResult.put("message_content", String("message_content"));
mapInList.add(lResult);
}
}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 = fal;
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;
el
return fal;
}//end dbDelete(…)
/**
* 对数据库表中记录进行更新操作
* @param tabName
* @param reCount
* @return bool值,成功返回true,失败返回fal
*/
public boolean dbUpdate(String tabName, HashMap reCount, String upCondition)