JDBC对数据库的基本操作

JDBC与数据库交互的基本操作 想要用java对数据库进行增删改查等操作,需要用到JDBC,下面是利用JDBC与数据库实现交互的基本步骤: 注册数据库驱动 第一种方法 java.sql.Driver driver = new com.mysql.cj.jdbc.Driver();//注册mysql驱动,调用mysql的Driver接口实现类的构造方法 DriverManager.registerDriver(driver);//注册mysl驱动 第二种方法可以直接调用Class.forName()方法类加载来执行co 阅读详情

第N章 使用数据库


N.1 连接数据库

N.2 执行SELECT语句

N.3 执行DML语句

N.4 参数化SQL

N.5 使用存储过程

N.6 使用事务

N.7 操作大数据字段


N.1 连接数据库

连接数据库时,需要数据库厂商提供的JAVA引擎,这实在是一个比较无奈的事情。

连接数据库的语法如下所示:

import  java.sql.Connection;
import  java.sql.DriverManager;
...
Class.forName(
" 类名 " ).newInstance();
Connection con 
=  DriverManager.getConnection( " 连接字符串 " ,  " 用户名 " ,  " 口令 " );

 

下表提供了常用数据库的JAVA引擎及连接字符串

数据库驱动提供者驱动类连接字符串
SQL Server Microsoftcom.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver://服务器名或IP:端口号(默认为1433);
DatabaseName=pubs;
SelectMethod=cursor
jTDSnet.sourceforge.jtds.jdbc.Driverjdbc:jtds:sqlserver://服务器名或IP:端口号(默认为1433)/数据库名
ORACLEOracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@服务器名或IP:端口号(默认为1521):数据库SID
ODBCSunsun.jdbc.odbc.JdbcOdbcDriverjdbc:odbc:数据源名称

下面是一个连接本地SQL SERVER的pubs库的程序:

import  java.sql.Connection;
import  java.sql.DriverManager;
...
Class.forName(
" com.microsoft.jdbc.sqlserver.SQLServerDriver " ).newInstance();
Connection con 
=  DriverManager.getConnection(
    
" jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;SelectMethod=cursor " , 
    
" sa " , 
    
" sa " );

 

N.1.1 SQL Server


如果要使用Windows 身份验证方式连接SQL Server,使用微软的开发包我还没找出来,使用jTDS的话,连接字符串可以这样写:

Connection connection  =  
    DriverManager.getConnection(
        
" jdbc:jtds:sqlserver://localhost:1433/pubs;domain=a " , 
        
" administrator " , 
        
" liulindong " );

 

 

因为我的电脑不在域中,所在domain我是随便写的,但不能为空,后面两个参数是windows的用户名和口令,呵呵。

N.2 执行SELECT语句

下面是一个简单的例子,它连接本机的SQL SERVER pubs库,输出authors表的全部内容。

package  example;

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

public   class  Test  {
    
    
public static void main(String[] args) throws Exception
    
{
        Class.forName(
"com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
        Connection con 
= DriverManager.getConnection(
            
"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;SelectMethod=cursor", 
            
"sa", 
            
"sa");
        Statement st 
= con.createStatement();
        String sql 
= "select * from authors";
        ResultSet rs 
= st.executeQuery(sql);
        ResultSetMetaData meta_data 
= rs.getMetaData();
        
        
for(int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++)
        
{
            System.out.print(meta_data.getColumnLabel(i_col) 
+ " ");
        }

        System.out.println();
        
        
while(rs.next())
        
{
            
for(int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++)
            
{
                System.out.print(rs.getString(i_col) 
+ " ");
            }

            System.out.println();
        }

        rs.close();
        st.close();
    }


}

 

从上例中,我们可获知如下几点内容:

  1. 使用java.sql.Statement.executeQuery来执行SELECT语句
  2. 它返回一个ResultSet类型,使用next()方法遍历
  3. 使用ResultSetMetaData来获取结果集的一些统计信息,如列名、列数、列类型等
  4. 使用ResultSetMetaData和ResultSet的get*()类的成员函数时,如果以整数值作为索引,则索引值从1开始。

注意:ResultSet没有提供方法可以获取结果集的记录条数,所以,如果想要获取记录条数,需要使用count()函数自己去查。网上有些人提出的所谓解决方法并不好用,说明如下:

  1. 使用ResltSet.last()和ResultSet.getRow()以获取记录条数,但很可惜,有些JDBC的驱动并不实现last()函数,例如JDBC-ODBC、SQL Server,其实这些JDBC驱动不实现除next()外的所有的定位操作,包括:first()、last()、previous()、absolute()等
  2. 使用对next()方法进行计数,方法可行,但且不说效率如何,只说我们获取了结果集,并不是只是为了得到一个结果集记录条数的。循环完了,我们怎么回去呢,因为对某些JDBC驱动,可并不提供first()方法哦。

N.3 执行DML语句

使用Statement.executeUpdate()方法或Statement.execute()方法

N.4 参数化SQL

使用PreparedStatement对象

PreparedStatement pstmt  =  con.prepareStatement( " UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ? " );
pstmt.setBigDecimal(
1 ,  153833.00 )
pstmt.setInt(
2 ,  110592 )

 

N.5 使用存储过程

N.5.1 带返回参数的存储过程

针对如下的表:

create   table  test_table(a  int , b  int ) 

 

有如下存储过程

create   procedure   [ sp_test ]
    
@a   int ,  @b   int ,  @count   int  output
with  recompile
as
    
set  nocount  on
    
insert   into  test_table(a, b)  values ( @a ,  @b )
    
select   @count   =   count ( * )  from  test_table
go

 

Java的示例代码如下所示:

import  java.sql. * ;
...
Connection conn 
=  ...;     // 获取Connection
String sql  =   " exec sp_test ?, ?, ? " ;
CallableStatement st 
=  conn.prepareCall(sql);
st.setInt(
1 ,  10 );     // 设置输入参数
st.setInt( 2 ,  10 );
st.registerOutParameter(
3 , Types.INTEGER);     // 设置输出参数
st.execute();
System.out.println(st.getInt(
3 ));         // 获取输出参数的值

 

N.5.2 返回结果集的存储过程

这个简单,直接使用executeQuery()即可。也不一定用CallableStatement对象,Statement(如果没参数)和PrepareStatement均可。

N.6 使用事务

一般使用的步骤如下所示:

Connection conn  =  ...;      // 获取Connection对象
conn.setAutoCommit( false );     // 取消自动提交
try
{
    ...(数据库操作)
    conn.commit();    
//提交更改
}

catch (Exception ex)
{
    conn.rollback();    
//回滚事务
    ex.printStackTrace();
}

conn.setAutoCommit(
true );     // 恢复自动提交

 

N.7 操作大数据字段

大数据字段是指ORACLE下的BLOB、CLOB,SQL Server下的image、text等类型的字段。

N.7.1 示例表

假设有如下的SQL SERVER表

create   table  test_table(id  int , content  image )

 

N.7.2 引用的类

import  java.io.File;
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  java.sql.Statement;

N.7.2 插入

Connection connection  =  ...     // 获取连接
String sql;
sql 
=   " insert into test_table(id, content) values(?, ?) " ;
PreparedStatement st 
=  connection.prepareStatement(sql);
st.setInt(
1 ,  20 );
String file_path 
=   " c:/1.xls " ;     // 要读取的文件

// 获取文件长度并分配空间
File f  =   new  File(file_path);
byte [] data  =   new   byte [( int )f.length()];

// 读取文件内容并插入
FileInputStream fs  =   new  FileInputStream( " c:/1.xls " );
fs.read(data);
st.setObject(
2 , data);
st.executeUpdate();
fs.close();

N.7.3 读取

Connection connection  =  ...     // 获取连接
String sql  =   " select content from test_table where id = 10 " ;
Statement st2 
=  connection.createStatement();
ResultSet rs 
=  st2.executeQuery(sql);
rs.next();
InputStream outStream 
=  rs.getBinaryStream( 1 );
FileOutputStream fw 
=   new  FileOutputStream( " c:/2.xls " ,  false );     // 输出到c:.xls
int  buf_len  =   1024 ;
byte [] out_buf  =   new   byte [buf_len];
int  read_len  =  outStream.read(out_buf);
while (read_len  >   0 )
{
    fw.write(out_buf, 
0, read_len);            
    read_len 
= outStream.read(out_buf);
}

fw.flush();
fw.close();
outStream.close();
YOLO系列专栏(六):YOLO26热力图可视化 | 解析模型推理逻辑,定位检测关键区域 YOLO26作为新一代目标检测模型,其核心优势是高效的特征提取和精准的目标定位,但模型内部的推理过程的“黑盒”特性,给我们的优化带来了很大困扰:❌ 检测精度低:不知道是模型没学到关键特征,还是特征提取不充分;❌ 出现误检/漏检:无法定位问题根源——是锚框不合适?还是特征图未捕捉到目标?❌ 模型优化盲目:调参、修改网络结构全靠“猜”,缺乏针对性;❌ 难以解释模型行为:实际项目中,需要说明模型“为什么检测到这个目标”,尤其是医疗、工业等对可解释性要求高的场景。而热力图可视化。 阅读详情

相关推荐

从数据校准到论文呈现:fsQCA与NCA方法融合的完整实证研究指南

本文详细介绍了fsQCA(模糊集定性比较分析)与NCA(必要条件分析)方法融合的完整实证研究流程,从数据校准到论文呈现。通过软件操作技巧、R语言NCA包高效使用及论文写作规范,帮助研究者避免常见误区,提升研究质量与可靠性。特别适合需要进行组态分析的研究生和学者参考。

weixin_29215391的博客 414

JDBC连接自定义sqlserver数据库实例名(多个实例)

java语言中,通过jdbc访问sqlserver2005(2008)数据库默认实例可以按常用的写法来写url连接。代码如下: Connection cn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=demo", "sa","sa"); 其中localhost为sqlser

真正的错误是,当你知道应该如何去提高时仍然选择做一名初学者! 2万+

新手避坑指南:从GEO数据库下载单细胞测序数据的5个关键步骤(附实操截图)

本文为单细胞测序数据下载新手提供5个关键避坑步骤,涵盖数据搜索准备、样本量评估、文件选择决策、元数据诊断及高效下载技术。通过实操截图和代码示例,帮助研究者快速锁定GEO数据库中的优质单细胞测序数据,避免常见错误。

weixin_30296405的博客 656

Jdbc 连接数据库 实例

 Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。一、连接各种数据库方式速查表下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。1、

自由引导码民! 1489

Windows环境下Elasticsearch与JDK版本兼容性实战指南

本文详细解析了Windows环境下Elasticsearch与JDK版本的兼容性问题,提供了从版本匹配检查到安装部署的完整实战指南。重点介绍了Elasticsearch 8.x需JDK 17+等关键版本对应关系,并分享多版本JDK共存方案及性能优化技巧,帮助开发者高效避坑。

weixin_29250403的博客 420

SAP PFCG 中的单一角色与复合角色

在 SAP 系统的安全与授权管理中,事务码 PFCG(角色维护)扮演着关键角色。理解单一角色(Single Role)和复合角色(Composite Role)的概念,对于有效地管理用户权限至关重要。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1476

jdbc mysql 实例名_JDBC 连接 带实例名的SQL Server

1、直接指定实例名jdbcDriverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriverjdbcUrl=jdbc:sqlserver://192.168.xxx.xxx;instanceName=sql_03;DatabaseName=edu;integratedSecurity=falsehibernate.dialect=org.hib...

weixin_42317885的博客 597

基于深度学习的ECG心电信号异常分类:从数据集到Transformer实战

心电图(Electrocardiogram, ECG)是诊断心血管疾病最常用、最无创的工具。随着可穿戴设备的普及,海量的心电数据需要自动、快速且准确地分析。人工智能,尤其是深度学习,在心电信号分类任务中表现出了超越传统规则算法的能力。本文将深入探讨ECG异常分类的技术细节,从心电数据的生理基础,到数据预处理,再到使用1D-CNN、LSTM、以及前沿的Transformer模型进行实战演练。文章末尾提供了完整的代码以及多个国际公开数据集的获取方式。

YOLO 188

如何使用JDBC操作数据库?一文带你吃透JDBC规范

在 Java 开发中,使用 Java 语言操作数据库是非常重要的一部分,那么 Java 语言是如何操作数据库的呢?我们需要使用不同厂商的数据库时,例如 MySQL,Oracle 等,显然一套 Java 代码是不能同时操作不同的数据库的,那么怎样实现一套 Java 代码对不同的数据库的操作呢?JDBC 应运而生。

zhangxia_的博客 1万+

SDR 和 DDR 的区别

SDR 和 DDR 的差别,最明显提现在传输速率和频率上。DDR SDRAM与SDRAM的基本结构是相似的,最根本的区别在于DDR 支持在一个时钟周期内传输两次数据,,SDR 只能传输一次数据。

串起点滴 1956

Spatial-ORMLLM: Improve Spatial Relation Understanding in the Operating Room with Multimodal Larg...

手术室(OR)中的精准空间建模是众多临床任务的基础,可为术中感知、风险规避及手术决策提供支持。现有方法虽利用大规模多模态数据集进行 latent 空间对齐,以隐式学习空间关系,但却忽视了多模态大型语言模型(MLLM)的3D能力。然而,这种方法存在两个问题:1)手术室通常缺乏多台视频和音频传感器,多模态3D数据难以获取;2)仅依赖易获取的2D数据训练,无法捕捉复杂场景中的细粒度细节。为解决这一问题,我们提出——首个针对手术室3D空间推理的大型视觉语言模型。

UnknownBody_2的博客 591

DBUtils中利用QueryRunner实现查询中resultSetHandler结果集处理类

1.ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值 2.ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。 3.BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。 4.BeanListHandler 将结果集中...

weixin_44289282的博客 620

【WRF数据准备】基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

WW、forever的博客 589

MySQL JDBC 连接数据库基本操作

JDBC(Java DataBase Connectivity,java数据库连接)基本操作 废话不多说,直接开始把~~~~~~~ 一、下载驱动(MySql为例,oracle同理操作) ①通过Bing搜索jdbc mysql.jar mvn,其他同理 ②这里我们选择第一个 ③选择下载人数比较多的比较稳妥,当然可以自己选择所需要的 ...

144

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JDBC之数据库基本操作

今天我们来介绍一下如何使用JDBC对数据库进行基本操作。还记得之前我们在数据库db_book中建立了一个t_book表。我这里把建表的代码再贴一下:create table `t_book` ( `id` int (11), `bookName` varchar (60), `author` varchar (30), `price` Decimal (8),

felixour的博客 356

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JDBC编程之数据库基本操作

一、读取数据库 package com.djx.jdbc; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.concurrent.ExecutionException; import com.mysql.jdbc.Connectio

dengjiaxing0321的博客 310

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数据库基本操作和JDBC编程步骤

在刚开始接触数据的时候会不知道从哪边入手,但其实在这方面我们要用的东西很少,只要知道几个基本的操作语句就可以了,下面我简单介绍一下基本的数据库操作语句和JDBC编程步骤:   连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [库名] 当前...

Ich warte auf dich的博客 963

JDBC数据库基本操作

jdbc数据库 数据库查询 try { Class.forName(“com.mysql.jdbc.Driver”); // 2.创建连接 Connection connection=DriverManager.getConnection(“jdbc:mysql://localhost/jdbc?user=root&password=064038”); //3.写sql String sq...

qq_41377152的博客 225

JDBC连接SQL数据库的基本操作

先写一个加载JDBC驱动和创建数据库连接和关闭数据库连接 package second; import java.sql.*; public class link { static {//加载JDBC try{ String driverName="com.mysql.cj.jdbc.Driver"; Class.forNam...

qq_43233736的博客 224

JDBC操作数据库的基本操作

JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM)。 2)建立(获取)数据库连接。 3)创建(获取)数据库操作对象。 4)定义操作的SQL语句。 5)执行数据库操作。 6)获取并操作结果集。 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象--&gt...

dianru4070的博客 184

JDBC连接数据库基本操作

1.JDBC概述 数据库驱动:数据库厂商提供的用来操作数据库的jar包 JDBC: 由于各大数据库厂商提供的驱动各不相同,导致学习成本很高,sun公司为了简化数据库操作,提供了一套规范,本质上就是一大堆接口,要求各大数据库厂商实现jdbc这套接口,此后只需学会jdbc这套接口,就可以操作所有数据库了。 JDBC已经被集成到jdk中,可以直接使用,所在的包为:java.sql、javax.sql 但是在操作数据库时,还需要导入具体的数据库驱动jar包 2.实现JDBC 首先,导入MySQL的驱动jar包 创建

m0_46556472的博客 304

JDBC数据库的基本操作

JDBC数据库的操作使用 1 什么是JDBC JDBC(Java DataBase Connectivity),即Java数据库连接。本质就是官方定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口编程,真正执行的代码是驱动jar包中的实现类。 2 操作mysql数据库的步骤 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar(需要jar包不想下载的微信公众号搜索Coder小菜鸟回复mysql

梦中注定的博客 424

JDBC连接数据库 和基本操作

* 1.加载驱动 * 错误产生原因ClassNotFoundException * 产生原因: * 类名写错 * jar包导错 * */ Connection conn =null; Statement stmt =null; ResultSet rs = null; try { //1⃣️加载驱动 Class.forName("com.mysql...

szl7369的博客 200

JDBC基础

JDBC基础

qq_52215881的博客 480

JDBC连接mysql数据库实现基本操作

JDBC连接mysql数据库实现基本操作 JDBC(java DATABASE Connectivity) java 数据连接 通过Java代码完成对数据库的增删改查     DB是SQL语言 结构化查询语言     java代码想要操作DB数据库先引入一个jar文件     mysql连接数据库的驱动jar包.     Oracle连...

韩若明溪 5641

JDBC基础知识

什么的JDBC:      使java应用程序具有访问不同类型数据库的能力;基于java的、提供连接、访问和操纵关系数据库的应用程序接口(API),提供在java应用程序中执行SQL语句以访问和操纵关系数据库的方法。 JDBC与ODBC的区别: ODBC只适用于windows平台,而JDBC具有跨平台性; ODBC数据源需要手工配置,JDBC在应用程序中指定数据库,不需要配置; JDBC四...

洋洋的博客 318
上一篇: C#中的随机数
下一篇: 在JavaScript中使用DOM技术动态控制表格
lldwolf
博客等级 码龄26年 57粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值