当前位置: 首页 > news >正文

Blob

 

 

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import org.junit.Before;
import org.junit.jupiter.api.Test;

/**
*@author :王团结
*@version: 2019年6月20日上午9:39:03
*类说明:
*/
public class TestBatchInsert {
    private Connection conn;
    /**
     * 
     */
    @Before
    public void iniConn() {
        // 注册驱动程序、连接、时区一定要加上
        String url = "jdbc:mysql://localhost:3306/mybase?serverTimezone=UTC";

        String username = "root";
        String password = "18339401841";

        try {
            // 获得连接
            conn = DriverManager.getConnection(url, username, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 使用预处理语句进行批量插入
     */
    @Test
    public void insert() {
        iniConn();
        try {
            String sql="insert persons(name,password,age) values (?,?,?)";
            PreparedStatement ppst=conn.prepareStatement(sql);
            conn.setAutoCommit(false);
            for(int i=0;i<1000;i++) {
                ppst.setString(1,"King"+i);
                ppst.setString(2,i+"");
                ppst.setInt(3,i);
                //添加批量命令
                ppst.addBatch();
                
                //处理4000
                if(i%300==0) {
                    //执行批量命令
                    ppst.executeBatch();
                    //清除批量命令
                    //ppst.clearBatch();
                }
                //ppst.executeUpdate();
            }
            conn.commit();
            ppst.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.junit.Before;
import org.junit.jupiter.api.Test;

import com.mysql.cj.protocol.Resultset;

/**
 * @author :王团结
 * @version: 2019年6月20日下午5:03:45 类说明: 测试大对象
 */
public class TestLob {
    private Connection conn;

    /**
     * 
     */
    @Before
    public void iniConn() {
        // 注册驱动程序、连接、时区一定要加上
        String url = "jdbc:mysql://localhost:3306/mybase?serverTimezone=UTC";

        String username = "root";
        String password = "18339401841";

        try {
            // 获得连接
            conn = DriverManager.getConnection(url, username, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * @throws Exception 插入图片和文本
     * 
     */
    @Test
    public void blob() throws Exception {
        iniConn();
        String sql = "insert into test(name,age,photo,memo) value(?,?,?,?)";
        PreparedStatement ppst = conn.prepareStatement(sql);
        ppst.setString(1, "tom");
        ppst.setInt(2, 12);
        FileInputStream fis = new FileInputStream("d:/arch/1.jpeg");
        ppst.setBinaryStream(3, fis, fis.available());
        ppst.setString(4, "jfkdljgjklg");
        ppst.executeUpdate();
        ppst.close();
        conn.close();
    }
    /**
     * @throws Exception 插入图片和文本
     * 
     */
    @Test
    public void findBlob() throws Exception {
        iniConn();
        String sql = "select * from test where id=?";
        PreparedStatement ppst = conn.prepareStatement(sql);
        ppst.setInt(1, 1);
        ResultSet rs=ppst.executeQuery();
        if(rs.next()) {
            String name=rs.getString("name");
            InputStream is=rs.getBinaryStream("photo");
            byte[] buffer=new byte[1024];
            int len=-1;
            FileOutputStream fos=new FileOutputStream("d:/1.jpeg");
            while((len=is.read(buffer))!=-1) {
                fos.write(buffer,0,len);
            }
            fos.close();
            is.close();
        }
        ppst.close();
        conn.close();
    }
}
package test;

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

import org.junit.jupiter.api.Test;

/**
*@author :王团结
*@version: 2019年6月19日下午11:48:31
*类说明:
*/
public class TestStatament {
    private Connection conn;
    /**
     * 
     */
    @Test
    public void iniConn() {
        // 注册驱动程序、连接、时区一定要加上
        String url = "jdbc:mysql://localhost:3306/mybase?serverTimezone=UTC";

        String username = "root";
        String password = "18339401841";

        try {
            // 获得连接
            conn = DriverManager.getConnection(url, username, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    @Test
    public void testLogin() {
        String name="admin";
        String pass="123456";
        // 创建语句对象(解耦合)
        iniConn();
        try {
            Statement st = conn.createStatement();

            String sql = "select * from persons where name = '" + name+"' and passwrod='"+pass+"'";
            // 执行SQL语句
            ResultSet rs = st.executeQuery(sql);
            
            //遍历结果集
            if(rs.next()) {
                int id=rs.getInt(1);
                System.out.println("登录成功!");
                
            }
            else {
                System.out.println("用户名/密码错误,请重试!!");
            }
            rs.close();
            // 释放资源
            
            st.close();
            conn.close();

            System.out.println("over");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
package test;

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

import org.junit.Before;
import org.junit.jupiter.api.Test;

/**
*@author :王团结
*@version: 2019年6月20日上午12:27:22
*类说明:
*/
public class TestTransactionn {
    private Connection conn;
    /**
     * 
     */
    @Before
    public void iniConn() {
        // 注册驱动程序、连接、时区一定要加上
        String url = "jdbc:mysql://localhost:3306/mybase?serverTimezone=UTC";

        String username = "root";
        String password = "18339401841";

        try {
            // 获得连接
            conn = DriverManager.getConnection(url, username, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 使用预处理语句进行批量插入
     */
    @Test
    public void test1() {
        iniConn();
        try {
            String sql="insert persons(name,password,age) values (?,?,?)";
            PreparedStatement ppst=conn.prepareStatement(sql);
            //关闭自动提交
            conn.setAutoCommit(false);
            ppst.setString(1,"King");
            ppst.setString(2,"123546");
            ppst.setInt(3,16);
            ppst.executeUpdate();
            //手动提交
            conn.commit();
            ppst.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

转载于:https://www.cnblogs.com/King-boy/p/11060486.html

相关文章:

  • JVM学习笔记:对象的内存布局和访问定位
  • 图像质量评估-锐度
  • NKOJ4241 蚯蚓 (【NOIP2016 DAY2】)
  • spring IOC bean中注入bean
  • 【OpenJ_Bailian - 4110】圣诞老人的礼物-Santa Clau’s Gifts (贪心)
  • centos7通过yum安装docker
  • 【Beta】Scrum meeting 2
  • 在Windows下搭建Gitlab服务器
  • mysql 是如何保证在高并发的情况下autoincrement关键字修饰的列不会出现重复
  • Docker是什么?可以用Docker做什么?
  • 《坐热板凳》第九次团队作业:Beta冲刺与验收准备(补交:实验十二 第八次团队作业:软件测试与ALPHA冲刺)...
  • 14-使用Vue来实现JQuery的动画效果
  • MP4V2 移植 (基于imx6 平台)
  • python学习之模块--模块(二)
  • Java数据结构和算法(七)--AVL树
  • avalon2.2的VM生成过程
  • Hibernate最全面试题
  • java8-模拟hadoop
  • js面向对象
  • Koa2 之文件上传下载
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Redash本地开发环境搭建
  • SAP云平台里Global Account和Sub Account的关系
  • TypeScript实现数据结构(一)栈,队列,链表
  • 不上全站https的网站你们就等着被恶心死吧
  • 从setTimeout-setInterval看JS线程
  • 力扣(LeetCode)965
  • 前端面试之闭包
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 责任链模式的两种实现
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​学习一下,什么是预包装食品?​
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (¥1011)-(一千零一拾一元整)输出
  • (0)Nginx 功能特性
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转载)深入super,看Python如何解决钻石继承难题
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net IOC框架入门之一 Unity
  • .NET命名规范和开发约定
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .NET正则基础之——正则委托
  • ::前边啥也没有
  • @property @synthesize @dynamic 及相关属性作用探究
  • @WebServiceClient注解,wsdlLocation 可配置
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [HNOI2018]排列
  • [leetcode 189][轮转数组]