javaweb:数据库表的删除语句

javaweb:数据库表的删除语句,第1张

使用拼接字符串就行:

String sql = "DELETE FROM student WHERE id = '" + id + "'";

但是上述方式存在sql注入风险,

可以使用

perstmt = connprepareStatement("DELETE FROM student WHERE id = ");

perstmtsetString(1,id);

数据库删除分为逻辑删除和物理删除,逻辑删除就是对要要删除的数据打上一个删除标记,在逻辑上是数据是被删除的,但数据本身依然存在!而物理删除则是把数据从介质上彻底删除掉。这里做的是逻辑删除 hangbansetDel("yes"); 通过hangbanDAOattachDirty(hangban);这个区更新数据库

1增加

String s1="insert into tableNames (id,name,password) values(myseqnextval,,);"

ClassforName(driver);

Connection conn = DriverManagergetConnection(url,dbUser,dbPwd);

PreparedStatement prepStmt = connprepareStatement(s1);

prepStmtsetString(1,name);

prepStmtsetString(2,password);

ResultSet rs=stmtexecuteUpdate();

2、删除

String s2="delete from tbNames where name=";

ClassforName(driver);

Connection conn = DriverManagergetConnection(url,dbUser,dbPwd);

PreparedStatement prepStmt = connprepareStatement(s2);

prepStmtsetString(1,name);

ResultSet rs=stmtexecuteUpdate();

3、修改

String s3=“update tbNames set name= where id=”;

ClassforName(driver);

Connection conn = DriverManagergetConnection(url,dbUser,dbPwd);

PreparedStatement prepStmt = connprepareStatement(s3);

prepStmtsetString(1,name);

prepStmtsetString(2,id);

ResultSet rs=stmtexecuteUpdate();

4、查询

String s4="select id,name,password from tbNames";

ClassforName(driver);

Connection conn = DriverManagergetConnection(url,dbUser,dbPwd);

Statement stmt=conncreateStatement();

ResultSet rs = stmtexecuteQuery(s4);

while(rsnext){

int id=rsgetInt(1);

String name = rsgetString(2);

String pwd=rsgetString(3);

Systemoutprintln(id+name+pwd); }

以上四步必须都得关闭连接;!!!

rsclose();

stmtclose();

connclose();

我这有个类,一直用

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");

        // }

    }

}

可以使用HibernateTemplate执行Hql语句 *** 作。

String userId = "somebody";

String hql ="delete from ATable as a where auserId = "+ userId +"";

thisgetHibernateTemplate()bulkUpdate(queryString);

你可以给按钮配置方法,方法去实现连接数据库,然后删除你需要删除的信息。

然后,给按钮配置方法的话,需要前台的按钮和后台的代码连接,可以使用Servlet或者Struts的Action等方式。你的这个问题不是一下子能说清楚的,因为涉及到的模块比较多,你问得比较宽泛。你要是全部都不熟悉的话,可能要花点时间。

以上就是关于javaweb:数据库表的删除语句全部的内容,包括:javaweb:数据库表的删除语句、java代码,谁能帮我详细解释一下这个删除数据库里某条信息的代码,具体每一句是什么意思、怎样编写一个java程序能通过jdbc访问数据库实现对数据库的插入、删除、修改和查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存