问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-26 23:32

我来回答

8个回答

热心网友 时间:2022-04-08 02:30

我这有个类,一直用

package com.second.;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

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 {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("加载驱动失败!");
            e.printStackTrace();
        }
    }

    public static Connection getConnection() {
        try {
            con = DriverManager.getConnection(
                    "jdbc:jtds:sqlserver://192.168.6.110/sql_second", "sa",
                    "123");
            // System.out.println(con);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            System.out.println("连接失败!");
            e.printStackTrace();
        }

        return con;

    }

    /**
     * 关闭连接
     * 
     * @param rs
     *            结果集对象
     * @param ps
     *            会话对象
     * @param con
     *            连接对象
     */
    public static void closeAll(ResultSet rs, PreparedStatement ps,
            Connection con) {
        try {
            if (null != rs) {
                rs.close();
            }
            if (null != ps) {
                ps.close();
            }
            if (null != con) {
                con.close();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * 设置参数
     * 
     * @param params
     * @param ps
     */
    public static void setParams(List<String> params, PreparedStatement ps) {
        if (params != null) {
            for (int i = 0; i < params.size(); i++) {
                try {
                    ps.setString(i + 1, params.get(i));
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

    /**
     * 实现增、删、改
     * 
     * @param sql
     *            sql语句
     * @param params
     *            参数
     * @return 修改的行数
     */
    public static int doUpdata(String sql, List<String> params) {
        int result = 0;
        try {
            // 判断是否连接 不连接就把数据库连上
            if (null == con || con.isClosed()) {
                con = getConnection();
            }
            // 得到会话
            ps = con.prepareStatement(sql);
            // 设置参数
            setParams(params, ps);
            // 得到结果,即改变行数
            result = ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 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 || con.isClosed()) {
                con = getConnection();
            }
            // 操作对象
            ps = con.prepareStatement(sql);
            // 设置参数
            setParams(params, ps);
            // 返回结果集
            rs = ps.executeQuery();

            // 取出t中的说有方法
            Method[] method = t.getDeclaredMethods();
            // 取出说有列名和列数
            ResultSetMetaData rsmd = rs.getMetaData();
            // 获得列数
            int count = rsmd.getColumnCount();
            // 取出每个列列名放入数组中
            String[] columns = new String[count];

            for (int i = 0; i < columns.length; i++) {
                columns[i] = rsmd.getColumnName(i + 1);
            }

            // 循环结果集

            while (rs.next()) {
                T s = (T) t.newInstance();
                // 第一个循环控制列数
                for (int i = 0; i < columns.length; i++) {
                    // 第二个循环控制方法名
                    for (int j = 0; j < method.length; j++) {
                        String setName = "set" + columns[i];
                        if (setName.equalsIgnoreCase(method[j].getName())) {// set+列名相同就是这个类得方法名
                            String typeName = rsmd.getColumnTypeName(i + 1);// 得到数据库中列名的类型
                            // int
                            // varchar..
                            //System.out.println(typeName);
                            if (typeName.equals("INTEGER")
                                    || typeName.equals("int identity")
                                    || typeName.equals("int")) {
                                method[j].invoke(s, rs.getInt(columns[i]));
                            } else if (typeName.equals("DECIMAL")) {
                                method[j].invoke(s, rs.getDouble(columns[i]));
                            } else if (typeName.equals("VARCHAR2")) {
                                method[j].invoke(s, rs.getString(columns[i]));
                            } else if (typeName.equals("money")) {
                                method[j].invoke(s, rs.getFloat(columns[i]));
                            } else if (typeName.equals("datetime")) {
                                // System.out.println(rs.getTimestamp(columns[i]));
                                method[j]
                                        .invoke(s, rs.getTimestamp(columns[i]));
                            } else {
                                method[j].invoke(s, rs.getString(columns[i]));
                            }

                        }
                    }

                }
                list.add(s);

            }
            closeAll(rs, ps, con);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }

    /**
     * 查询
     * 
     * @param sql
     * @param obj
     * @return
     */
    public static ResultSet getInfoos(String sql, Object[] temp) {
        ResultSet rs = null;
        try {
            if (con == null || con.isClosed()) {
                getConnection();
            }
            ps = con.prepareStatement(sql);
            for (int i = 1; i < temp.length; i++) {
                ps.setObject(i, temp[i]);
            }
            rs = ps.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

    
    public static void main(String[] args) {
        // JDBCUtilDemo jd = new JDBCUtilDemo();
        // System.out.println(jd.getConnection());
        // if(jd.updateByUserId("8888" )){
        // System.out.println("OK");
        // }else{
        // System.out.println("NO");
        // }

    }

}

热心网友 时间:2022-04-08 03:48

java和数据库之间只能通过传值过程对数据库进行操作,可以实现,但最终还是会用到数据库语句。

热心网友 时间:2022-04-08 05:23

首先,下载连接access的驱动jar包;
然后把这个jar包拖到Eclipse项目中的lib文件夹下;
接着在src文件夹下新建一个package,然后写一个数据库的类;
关键代码:
String driver = "......";
String url = ".....";
String user= "...";
String password="...";
try{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url);
}catch(Exception e){}
Statement stmt = null;
//查
String sql = "select * from aaa";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);

//增
String sql = "insert into aaa values('a','b','c')";
stmt.execute(sql);

//改
String sql = "update aaa set name='b' where name='a'";
stmt.executeUpdate(sql);

//删
String sql = "delete from aaa where name = 'b'";
stmt.execute(sql);

反正就是类似这样的啦

热心网友 时间:2022-04-08 07:14

Access 做过。不过还是建议你去学下JDBC,学完自然就会了。先用Windows的ODBC建一个到Access的访问。然后用Java连接ODBC.

热心网友 时间:2022-04-08 09:22

用JDBC配置数据库链接,编写后台SQL代码

热心网友 时间:2022-04-08 11:47

http://blog.csdn.net/chow__zh/article/details/8278764
这个博客够清楚了!可以试着自己弄一弄.大多数都没空,都在上班

热心网友 时间:2022-04-08 14:28

jdbc 连接数据库啊

热心网友 时间:2022-04-08 17:26

采纳吧 我给告诉你做,加Q1564656818
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
被培训机构骗了,他们耍无赖不退钱,如果我把他公司砸到他们骗走我的钱... 木地板的类型以及可以使用的拖把 冯小刚脸有红斑!可以去东北步行街特产店买百草之王人参!吃段时间就好... Empires &amp; Allies – 社交网络 UID 是什么?我如何找到它? Empires &amp; Allies – Regarder pour gagner (RG) – FAQ Empires &amp; Allies – 如何建造并升级基地营地? 男领导是喜欢这个女人吗? 地雷战纪念馆的主要展览 我想问一下打火机爆炸能伤人吗 万能焊条可以用打火机烧吗? 表示着急的歇后语 用拔苗助长__急于求成写出一句关于心情的歇后语 在java中怎么对数据库的数据进行操作 &quot;拔苗助长&quot;歇后语的下一句? java怎样用jsp实现对数据库的增删改查操作 急于求成的歇后语 用java做界面连接oracle数据库实现增删改查功能,具体步骤怎么做?_百度... 如何用java实现对mysql进行增删改查 对数据库实现增删改查的Java程序 java连接数据库实现增删改查 求一个JAVA应用系统能实现对数据库数据的增删改查就可以!谢谢 只有手机串号能查出公安能查出原机主吗 为什么手机内的照片时间久了会模糊不清? 苹果手机屏幕上出现GPRS标志怎么关掉? iphone5 如何关闭GPRS上网功能 苹果5S总是显示GPRS怎么关掉啊? 苹果手机用的是中国移动号码GPRS不用时怎样关闭网络连接 按摩胸部真的能变大吗 胸会越来越揉越大吗? 严肃解释:胸部真的会越揉越大吗 形容性急的歇后语~ java io 简单实现对数据的增删改查 java对pl sql数据库查询,增加,修改,删除操作 求北师大版高中英语必修一课本【电子版的】百度云下载地址,谢谢啦^V^ 形容着急的歇后语,求回答! 如何通过java实现对sqlite数据库的增删改查 在JAVA中对数据库进行增删改查 比如这些 String sql = &quot;insert into u... 好了伤疤忘了痛的歌词 创建java的类实现对数据库的增删改查 哪位好心人帮妹妹写一下这首歌的歌词 谢谢 《好了伤疤忘了疼》 人教版高一英语必修1的英语书上第7页的2题,写给小东那个回信,怎么写? java怎样在控制台对数据库字段进行增删改查 不能好了伤疤,就忘了未愈合的痛歌名是什么 求歌词:愈好了伤疤忘了疼 一物降一物的前一句是什么啊? 这本什么书啊?高一英语必修一的 比如做思想工作时不能急于求成,要慢慢来的成语或、谚语、或格言、歇后语 一首歌里面有这个歌词!"一好啦伤疤你就忘啦疼"这首歌叫什么名字?知道的给好评! 有首歌歌词是“一好了伤疤你就忘了疼” 这是什么歌? 人教版高一英语必修1课本条形码