mysql存储java类对象,java对象存储位置

本文目录一览:

java 怎么调用mysql 存储过程

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Types;

/*

* 对应的存储过程

DROP PROCEDURE IF EXISTS `pro_num_user`;

delimiter ;;

CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT)

READS SQL DATA

BEGIN

SELECT COUNT(*) INTO count_num FROM tab_user WHERE ‘name’=user_name;

END

;;

delimiter ;

*/

public class Test {

public static final String DRIVER_CLASS = “com.mysql.jdbc.Driver”;

public static final String URL = “jdbc:mysql://127.0.0.1:3306/test”;

public static final String USERNAME = “root”;

public static final String PASSWORD = “acbee”;

public static void main(String[] args) throws Exception {

test1();

test2();

}

public static void test1() throws Exception

{

Class.forName(DRIVER_CLASS);

Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

String sql = “{CALL pro_num_user(?,?)}”; //调用存储过程

CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm

cstm.setString(1, “myd”); //存储过程输入参数

//cstm.setInt(2, 2); // 存储过程输入参数

cstm.registerOutParameter(2, Types.INTEGER); // 设置返回值类型 即返回值

cstm.execute(); // 执行存储过程

System.out.println(cstm.getInt(2));

cstm.close();

connection.close();

}

public static void test2() throws Exception

{

Class.forName(DRIVER_CLASS);

Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

String sql = “{CALL pro_number(?,?,?)}”; //调用存储过程

CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm

cstm.setInt(1, 2); // 存储过程输入参数

cstm.setInt(2, 2); // 存储过程输入参数

cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 即返回值

cstm.execute(); // 执行存储过程

System.out.println(cstm.getInt(3));

cstm.close();

connection.close();

}

}

一个关于java调用mysql 存储过程的问题

在存储过程中如果有查询结果集,在java中执行存储过程后,应使用其父接口Statement的getResultSet()方法获取查询结果集,此方法就返回ResultSet,如你上面若想获取存储过程中查询结果集应如下:

ResultSet

rs

=

cst.getResultSet();

以下遍历此rs即可…

java语言调用mysql存储过程(需要获取到存储过程中的out 变量),

用getObject方法

getObjectObject getObject(int parameterIndex)

throws SQLException以 Java 编程语言中 Object 的形式获取指定参数的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。

此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。

参数:

parameterIndex – 第一个参数是 1,第二个参数是 2,依此类推

返回:

保存 OUT 参数值的 java.lang.Object

抛出:

SQLException – 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法

求助JAVA调用MYSQL存储过程的问题

书上说的太复杂了而且不易理解,楼上的复制粘贴的我看不懂估计你更看不懂,我就简单说吧:

比如我们要执行mysql中的student表,执行一条查询语句select * from student

java中写一个实体类student,包含所有student表中的所有属性,如name,age,score等

选择jdbc的数据库沟通方式,建立connection,paredstatement;

connection中写数据库名,driver名,用户名,密码;

建立String类型sqlStr中写入sql语句select * from student ,

调用parestatement的query方法将sqlStr作为参数传过去;就好了;

query方法会返回一个resultSet类型的结果集,拿到它就成功了;

如何将一个java对象保存到数据库中?比如一个Map对象保存到mysql数据库的一个字段中???

我学习Java还没那么深入,不过我想可以保存一个字段名,用的时候getString()出来,然后Class.forName(“获取的字段”),回答不对见谅…………

在MySQL中使用java存储图像问题,怎么解决

有两种实现思路。

1、数据库中只存储图片文件路径,将图片存储到指定位置,需要使用该图片时先从数据库读取路径,再根据路径获取图片(推荐,常用实现方案)。

2、将图片转换成字符串,将字符串存入数据库,需要使用时从数据库中读取出字符串再转回图片文件(不推荐,性能低下)。

附图片与字符串互相转换的代码:

import java.io.*;

public class ImageUtils {

    /**

     * 图片转字符串

     *

     * @param filePath 文件路径

     * @return

     * @throws IOException

     */

    public static String image2String(String filePath) throws IOException {

        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filePath))) {

            byte[] data = new byte[bis.available()];

            bis.read(data);

            // base64编码

            sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();

            return encoder.encode(data);

        }

    }

    /**

     * 字符串转图片

     *

     * @param imageStr 图片字符串

     * @param filePath 生产图片路径

     * @throws IOException

     */

    public static void string2Image(String imageStr, String filePath) throws IOException {

        sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();

        byte[] data = decoder.decodeBuffer(imageStr);

        try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath))) {

            bos.write(data);

            bos.flush();

        }

    }

    // 测试

    public static void main(String[] args) throws IOException {

        String str = image2String(“G:/test/t2.jpg”);

        // 运行完成后在对应路径下查看是否生成了新图片

        string2Image(str, “G:/test/t3.jpg”);

    }

}

原创文章,作者:OJUK,如若转载,请注明出处:https://www.506064.com/n/144130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
OJUKOJUK
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • ArcGIS更改标注位置为中心的方法

    本篇文章将从多个方面详细阐述如何在ArcGIS中更改标注位置为中心。让我们一步步来看。 一、禁止标注智能调整 在ArcMap中设置标注智能调整可以自动将标注位置调整到最佳显示位置。…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论