怎么用java向数据库中添加和删除数据

怎么用java向数据库中添加和删除数据,第1张

我这有个类,一直用

package comseconddao;

import javalangreflectInvocationTargetException;

import javalangreflectMethod;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlResultSetMetaData;

import javasqlSQLException;

import javautilArrayList;

import javautilList;

public class JDBCUtilDao {

    private static Connection con = null;

    private static PreparedStatement ps = null;

    private static ResultSet rs = null;

    public static Connection PrintCon() {

        return con;

    }

    public static PreparedStatement PrintPs() {

        return ps;

    }

    public static ResultSet PrintRs() {

        return rs;

    }

    /

      准备驱动

     /

    static {

        try {

            ClassforName("netsourceforgejtdsjdbcDriver");

        } catch (ClassNotFoundException e) {

            // TODO Auto-generated catch block

            Systemoutprintln("加载驱动失败!");

            eprintStackTrace();

        }

    }

    public static Connection getConnection() {

        try {

            con = DriverManagergetConnection(

                    "jdbc:jtds:sqlserver://1921686110/sql_second", "sa",

                    "123");

            // Systemoutprintln(con);

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            Systemoutprintln("连接失败!");

            eprintStackTrace();

        }

        return con;

    }

    /

      关闭连接

      

      @param rs

                 结果集对象

      @param ps

                 会话对象

      @param con

                 连接对象

     /

    public static void closeAll(ResultSet rs, PreparedStatement ps,

            Connection con) {

        try {

            if (null != rs) {

                rsclose();

            }

            if (null != ps) {

                psclose();

            }

            if (null != con) {

                conclose();

            }

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        }

    }

    /

      设置参数

      

      @param params

      @param ps

     /

    public static void setParams(List<String> params, PreparedStatement ps) {

        if (params != null) {

            for (int i = 0; i < paramssize(); i++) {

                try {

                    pssetString(i + 1, paramsget(i));

                } catch (SQLException e) {

                    // TODO Auto-generated catch block

                    eprintStackTrace();

                }

            }

        }

    }

    /

      实现增、删、改

      

      @param sql

                 sql语句

      @param params

                 参数

      @return 修改的行数

     /

    public static int doUpdata(String sql, List<String> params) {

        int result = 0;

        try {

            // 判断是否连接 不连接就把数据库连上

            if (null == con || conisClosed()) {

                con = getConnection();

            }

            // 得到会话

            ps = conprepareStatement(sql);

            // 设置参数

            setParams(params, ps);

            // 得到结果,即改变行数

            result = psexecuteUpdate();

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        } finally {

            closeAll(null, ps, con);

        }

        return result;

    }

    /

      查询

      

      @param <T>

      @param sql

      @param params

      @param t

      @return

     /

    public static <T> List<T> qureyAll(String sql, List<String> params,

            Class<T> t) {

        // 用一个集合接受返回的数据

        List<T> list = new ArrayList<T>();

        // 判断是否连接

        try {

            if (null == con || conisClosed()) {

                con = getConnection();

            }

            //  *** 作对象

            ps = conprepareStatement(sql);

            // 设置参数

            setParams(params, ps);

            // 返回结果集

            rs = psexecuteQuery();

            // 取出t中的说有方法

            Method[] method = tgetDeclaredMethods();

            // 取出说有列名和列数

            ResultSetMetaData rsmd = rsgetMetaData();

            // 获得列数

            int count = rsmdgetColumnCount();

            // 取出每个列列名放入数组中

            String[] columns = new String[count];

            for (int i = 0; i < columnslength; i++) {

                columns[i] = rsmdgetColumnName(i + 1);

            }

            // 循环结果集

            while (rsnext()) {

                T s = (T) tnewInstance();

                // 第一个循环控制列数

                for (int i = 0; i < columnslength; i++) {

                    // 第二个循环控制方法名

                    for (int j = 0; j < methodlength; j++) {

                        String setName = "set" + columns[i];

                        if (setNameequalsIgnoreCase(method[j]getName())) {// set+列名相同就是这个类得方法名

                            String typeName = rsmdgetColumnTypeName(i + 1);// 得到数据库中列名的类型

                            // int

                            // varchar

                            //Systemoutprintln(typeName);

                            if (typeNameequals("INTEGER")

                                    || typeNameequals("int identity")

                                    || typeNameequals("int")) {

                                method[j]invoke(s, rsgetInt(columns[i]));

                            } else if (typeNameequals("DECIMAL")) {

                                method[j]invoke(s, rsgetDouble(columns[i]));

                            } else if (typeNameequals("VARCHAR2")) {

                                method[j]invoke(s, rsgetString(columns[i]));

                            } else if (typeNameequals("money")) {

                                method[j]invoke(s, rsgetFloat(columns[i]));

                            } else if (typeNameequals("datetime")) {

                                // Systemoutprintln(rsgetTimestamp(columns[i]));

                                method[j]

                                        invoke(s, rsgetTimestamp(columns[i]));

                            } else {

                                method[j]invoke(s, rsgetString(columns[i]));

                            }

                        }

                    }

                }

                listadd(s);

            }

            closeAll(rs, ps, con);

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        } catch (InstantiationException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        } catch (IllegalAccessException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        } catch (IllegalArgumentException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        } catch (InvocationTargetException e) {

            // TODO Auto-generated catch block

            eprintStackTrace();

        }

        return list;

    }

    /

      查询

      

      @param sql

      @param obj

      @return

     /

    public static ResultSet getInfoos(String sql, Object[] temp) {

        ResultSet rs = null;

        try {

            if (con == null || conisClosed()) {

                getConnection();

            }

            ps = conprepareStatement(sql);

            for (int i = 1; i < templength; i++) {

                pssetObject(i, temp[i]);

            }

            rs = psexecuteQuery();

        } catch (SQLException e) {

            eprintStackTrace();

        }

        return rs;

    }

    

    public static void main(String[] args) {

        // JDBCUtilDemo jd = new JDBCUtilDemo();

        // Systemoutprintln(jdgetConnection());

        // if(jdupdateByUserId("8888" )){

        // Systemoutprintln("OK");

        // }else{

        // Systemoutprintln("NO");

        // }

    }

}

只能写个大概的,要写数据到数据库中,先得在数据库中建库,库里建表,表里建字段,然后java里建立数据库连接,用SQL语言写数据到表中的字段

ClassforName("commicrosoftsqlserverjdbcSQLServerDriver")newInstance();

//String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名"; //70、2000

String url="jdbc:sqlserver://localhost:1433;DatabaseName=数据库名"; //2005

Connection conn=null;

conn= DriverManagergetConnection(url,用户名,密码);

PreparedStatement pst=null;

pst=connprepareStatement("Insert Into grade(表名) Values ()");

pstsetInt(1,你要写的整弄数据);

//pstsetString(2,你要写的字符串数据);

pstaddBatch();

pstexecuteBatch();

以上就是关于怎么用java向数据库中添加和删除数据全部的内容,包括:怎么用java向数据库中添加和删除数据、用java怎样把数据存到数据库中、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9709537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存