0

0

MySQL的简单操作方法:Statement、PreparedStatement_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:00:56

|

1501人浏览过

|

来源于php中文网

原创

(1)连接mysql的工具类:dbutil.java

package com.xuliugen.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBUtil {
    public static Connection getConn() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/你的数据库名称", "你的账号", "你的密码");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static PreparedStatement prepareStmt(Connection conn, String sql) {
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return pstmt;
    }

    public static ResultSet executeQuery(Statement stmt, String sql) {
        ResultSet rs = null;
        try {
            rs = stmt.executeQuery(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }


    public static void close(Connection conn, Statement stmt,
            PreparedStatement preStatement, ResultSet rs) {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
        if (preStatement != null) {
            try {
                preStatement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            preStatement = null;
        }

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            rs = null;
        }
    }
}

(2)使用preparedStatement插入数据的数据库:

public boolean saveComment(Comment comment) {

        Connection connection = DBUtil.getConn();
        String sql = "insert into comment values (null,?,?,?,?)";
        PreparedStatement preparedStatement = null;
        boolean flag = false;
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, comment.getCommenttext() + "");
            preparedStatement.setString(2, comment.getCommenttime() + "");
            preparedStatement.setString(3, comment.getUserid() + "");
            preparedStatement.setString(4, comment.getArticleid() + "");
            int isOk = preparedStatement.executeUpdate();
            if (isOk > 0) {
                return !flag;
            } else {
                return flag;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DBUtil.close(connection, null, preparedStatement, null);
        return flag;
    }

(3)使用preparedStatement选择数据,读取数据:

UQ云商B2B2C系统
UQ云商B2B2C系统

UQCMS云商是一款B2B2C电子商务软件 ,非常适合初创的创业者,个人及中小型企业。程序采用PHP+MYSQL,模板采用smarty模板,二次开发,简单方便,无需学习其他框架就可以自行模板设计。永久免费使用,操作简单,安全稳定。支持PC+WAP+微信三种浏览方式,支持微信公众号。

下载
public List getCommentDetail(int userid, int articleid) {
        Connection connection = DBUtil.getConn();
        String sql = "select * from comment c where c.userid=? and c.articleid=?";// 编写sql语句,第一个字段不需要插入,是自动增加的
        PreparedStatement preparedStatement = null;
        List commentList = new ArrayList();
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, userid);
            preparedStatement.setInt(2, articleid);
            //这里的产讯不需要传入sql语句
            ResultSet rs = preparedStatement.executeQuery();

            // 判断是否为空
            if (rs.next()) {
                while (rs.next()) {// 将信息迭代到list中
                    Comment comment = new Comment();
                    comment.setCommentid(rs.getInt("commentid"));
                    comment.setCommenttext(rs.getString("commenttext"));
                    comment.setCommenttime(rs.getString("commenttime"));
                    comment.setUserid(rs.getInt("userid"));
                    comment.setArticleid(rs.getInt("articleid"));

                    commentList.add(comment);
                }
            } else {
                return null;
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        DBUtil.close(connection, null, preparedStatement, null);
        return commentList;
    }

(4)使用Statement操作数据库:

public List
getArticleMessage() { Connection connection = DBUtil.getConn(); String sql = "select * from article";// 编写sql语句,第一个字段不需要插入,是自动增加的 Statement statement = null; List
articleList = new ArrayList
(); try { statement = connection.createStatement(); ResultSet rs = statement.executeQuery(sql); //判断是否为空 if (rs.next()) { while (rs.next()) {//将信息迭代到list中 Article article = new Article(); article.setTitle(rs.getString("title")); article.setContext(rs.getString("context")); article.setArticleTime(rs.getString("articletime")); article.setUserid(rs.getInt("userid")); article.setArticleid(rs.getInt("articleid")); articleList.add(article); } } else { return null; } } catch (SQLException e) { e.printStackTrace(); } DBUtil.close(connection, statement, null, null); return articleList; }

相关专题

更多
虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

29

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

20

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

37

2025.12.25

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

6

2025.12.25

msvcp140.dll丢失相关教程
msvcp140.dll丢失相关教程

本专题整合了msvcp140.dll丢失相关解决方法,阅读专题下面的文章了解更多详细操作。

2

2025.12.25

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

6

2025.12.25

微信调黑色模式教程
微信调黑色模式教程

本专题整合了微信调黑色模式教程,阅读下面的文章了解更多详细内容。

5

2025.12.25

ps入门教程
ps入门教程

本专题整合了ps相关教程,阅读下面的文章了解更多详细内容。

4

2025.12.25

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

218

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号