天之火–Qutr的专栏
君子终日乾乾,夕惕若,,无咎。
Home
Java连接MySql数据库,并且实现插入、删除、更新、选择操作!
这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08Eclipse3.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 一个含有mapList(列表)
    */
    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小时内删除。