学习笔记——元数据、blob类型的元素(元数据包括)

  本篇文章为你整理了学习笔记——元数据、blob类型的元素(元数据包括)的详细内容,包含有元数据的类型包括哪些 元数据包括 元数据分为哪2类 元数据的三种类型 学习笔记——元数据、blob类型的元素,希望能帮助你了解 学习笔记——元数据、blob类型的元素。

  1、元数据的说明:

   元数据就是指描述数据的数据,例如:数据有多少列、数据的列名称等。

  2、使用的代码:

  

1 ResultSetMetaData metaData = rs.getMetaData();

 

  2 int columnCount = metaData.getColumnCount();

 

   说明:第1行中的rs表示结果集

  二、sql的注入

  说明:在sql语句中查询具有某个工号的员工的详细信息时,需要在sql语句中使用占位符。之后再使用“setObject”为里面的内容赋值。

  

public void test02() throws SQLException {

 

   Scanner input = new Scanner(System.in);

   System.out.println("请输入你要查询的员工的编号:");

   String id = input.nextLine();

   input.close();

   String url = "jdbc:mysql://localhost:3306/数据库名称?serverTimezone=UTC";

   Connection conn = DriverManager.getConnection(url, "数据库用户名", "数据库密码");

   String sql = "SELECT * FROM t_employee WHERE eid= ?";

   PreparedStatement pst = conn.prepareStatement(sql);

   pst.setObject(1,id);

   ResultSet rs = pst.executeQuery();

   ResultSetMetaData metaData = rs.getMetaData();

   int columnCount = metaData.getColumnCount();

   //遍历结果集

   while (rs.next()){

   for (int i = 1; i = columnCount; i++) {

   System.out.print(rs.getObject(i)+"\t");

   System.out.println();

   rs.close();

   pst.close();

   conn.close();

  }

 

  2022-11-05

  二、blob数据类型

  1、blob数据类型说明:

   blob数据类型是用来存放图片信息的。

  2、使用实例:

   (1)在数据库中创建一个表,设置表中的字段有(username,password,photo),将其中的"photo"的类型设置为“blob”.在IDEA中创建java项目,设置一个模块,在该项目下添加资源。涉及到的资源有“MySQL与java向连接的接口”,为“mysql-connector-java-8.0.19.jar”。创建一个java类。

   (2)在创建的java类中,首先输入要在数据库中添加的信息。使用输入流(Scanner)。之后建立与数据库的连接,设置url。使用“驱动管理类(DriverManager)”的“getConnection”方法将路由、用户名、密码三个参数传入,使MySQL与java建立连接。

   (3)之后,设置对应的sql语句将键盘输入的数据存储到数据库中。传入的数据在sql语句中首先用占位符(?)来占位。之后将建立好的连接进行预编译(预编译的目的是降低DBMS运行的时间,即它不用编译了,直接执行sql语句即可)。之后设置占位符的参数,使用的是预编译对象的setObject函数。将传入的数据放置到数据库中,设置的是预编译对象的executeUpdate函数,它返回的是一个整数,用来表示受影响的行数。之后将流对象关闭(有预编译对象、连接对象)。

  详细的代码如下:

  

package com.haha.problem;

 

  import org.junit.Test;

  import java.io.FileInputStream;

  import java.io.FileNotFoundException;

  import java.sql.Connection;

  import java.sql.DriverManager;

  import java.sql.PreparedStatement;

  import java.sql.SQLException;

  import java.util.Scanner;

  public class Problem3 {

   @Test

   public void test03() throws SQLException, FileNotFoundException {

   Scanner input = new Scanner(System.in);

   System.out.println("请输入用户名:");

   String username = input.next();

   System.out.println("请输入密码:");

   String password = input.next();

   System.out.println("请输入图片:");

   String path = input.next(); //先使用路径表示

   input.close();

   String url = "jdbc:mysql://localhost:3306/数据库名称?serverTimezone=UTC";

   Connection conn = DriverManager.getConnection(url, "数据库的用户名", "数据库密码");

   String sql = "INSERT INTO t_user VALUES (?,md5(?),?)";

   PreparedStatement pst = conn.prepareStatement(sql);

   //设置参数的内容

   pst.setObject(1,username);

   pst.setObject(2,password);

   pst.setObject(3,new FileInputStream(path));

   int len = pst.executeUpdate();

   System.out.println(len 0?"添加成功":"添加失败");

   pst.close();

   conn.close();

  }

 

   说明:上述的代码中使用了一个“test”,是一个“junit”测试工具。在sql语句添加数据中,第二个占位符使用的是“md5(?)”,这里表示将输入的数据(password)进行加密,设置为密文。

   之后在运行代码时,第三个这里输入的图片存放的路径。

   注意:如果存入的图片的大小太大的话,应该将在数据库中设置的“photo”的类型进行转换,可以设置为“mediumblob”或者是“longblob”。

   在服务器端和客户端中的blob是有大小限制的,默认的是max_allowed_packet = 4M。可以根据业务将sql中的配置文件中的“max_allowed_packet =”的大小设置的大一些。

  以上就是学习笔记——元数据、blob类型的元素(元数据包括)的详细内容,想要了解更多 学习笔记——元数据、blob类型的元素的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: