【完善】Java操作MySql增删改查

来源:互联网 发布:java程序员岗位职责 编辑:程序博客网 时间:2024/05/29 16:50

1. 连接数据库,得到数据库连接变量


[java] view plaincopyprint?

//注意,这是连接mysql的方法  

注意连接数据库的时候


(1)打开DB Browser 新建一个Database Driver,注意添加Driver JARs的时候添加的包,我的是mysql-connector-java-5.0.3-bin.jar


(2)要将数据库jar包拷贝到工程下的WEB-INF\lib下



import java.sql.Connection;//java包  

public class DBConnection  

    {  

        private String dbDriver="com.mysql.jdbc.Driver";   

        private String dbUrl="jdbc:mysql://[ip地址]:[端口号]/[数据库名]";//根据实际情况变化  

        private String dbUser="root";  

        private String dbPass="root";  

        public Connection getConn()  

        {  

            Connection conn=null;  

            try  

            {  

                Class.forName(dbDriver);  

            }  

            catch (ClassNotFoundException e)  

            {  

                e.printStackTrace();  

            }  

            try  

            {  

                conn = DriverManager.getConnection(dbUrl,dbUser,dbPass);//注意是三个参数  

            }  

            catch (SQLException e)  

            {  

                e.printStackTrace();  

            }  

            return conn;  

        }  

    }  


2. 插入操作


[java] view plaincopyprint?

public int insert()  

{  

    int i=0;  

    String sql="insert into (表名)(列名1,列明2) values(?,?)";  

    Connection cnn=getConn();  

  

    try{  

        PreparedStatement preStmt =cnn.prepareStement(sql);  

        preStmt.setString(1,值);  

        preStmt.setString(2,值);//或者:preStmt.setInt(1,值);  

        i=preStmt.executeUpdate();  

    }  

    catch (SQLException e)  

    {  

        e.printStackTrace();  

    }  

    return i;//返回影响的行数,1为执行成功  

}  

3. 更新操作


public int update  

{  

    int i=0;  

    String sql="update (表名) set  (列名1)=?,列明2=? where (列名)=?";//注意要有where条件  

    Connection cnn=getConn();  

  

  

    try{  

        PreparedStatement preStmt =cnn.prepareStatement(sql);  

        preStmt.setString(1,(值));  

        preStmt.setString(2,(值));//或者:preStmt.setInt(1,值);  

        preStmt.setInt(3,(值));  

        i=preStmt.executeUpdate();  

    }  

    catch (SQLException e)  

    {  

        e.printStackTrace();  

    }  

    return i;//返回影响的行数,1为执行成功  

}  




4. 查找操作


public String select  

    {  

        String sql = "select * from (表名) where (列名)=(值)";  

        Connection cnn = getConn();//此处为通过自己写的方法getConn()获得连接  

        try  

        {  

            Statement stmt = conn.createStatement();  

            ResultSet rs = stmt.executeQuery(sql);  

  

            if(rs.next())  

            {  

                int m1 = rs.getInt(1);//或者为rs.getString(1),根据数据库中列的值类型确定,参数为第一列  

                String m2 = rs.getString(2);  

            }  

            //可以将查找到的值写入类,然后返回相应的对象  

        }  

        catch (SQLException e)  

        {  

            e.printStackTrace();  

        }  

        return (相应的值的变量);  

    }  


5. 删除操作


public int delete()  

{  

    String sql = "delete from (表名) where (列名)=(值)";  

    int i=0;  

    Connection conn = getConn();//此处为通过自己写的方法getConn()获得连接  

    try  

    {  

        Statement stmt = conn.createStatement();  

        i = stmt.executeUpdate(sql);  

    }  

    catch (SQLException e)  

    {  

        e.printStackTrace();  

    }  

    return i;//如果返回的是1,则执行成功;  

}  


0 0