matlab java 调用_Matlab调用Java类访问数据库

一、eclipse创建一个普通的java工程命名为mdt

26d8ea6015e4f23c08c603cbc9981a8e.png

package www.zjptcc.wxw.matjdbctest;

import java.sql.*;

public class TestMysql {

static String url = "jdbc:mysql://localhost:3306/mymotif?useSSL=false&user=mymotif&password=wxwpxh";

public void showatable(){

Connection conn = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url);

Statement st = conn.createStatement();

ResultSet rs = st.executeQuery("SELECT * FROM COURSE");

int colcount=st.getResultSet().getMetaData().getColumnCount();

while (rs.next()) {

for(int col=1;col<=colcount;col++){

System.out.print(rs.getString(col));

System.out.print(" ");

}

System.out.println();

}

rs.close();

st.close();

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

二、把项目mdt导出到一个jar文件:mdt.jar

三、把mdt.jar和mysql的jdbc驱动都放入专门的目录

我把它们放到我的matlab工作目录下面的java子目录

mkdir ${HOME}/matlab_workplace/java

cp mdt.jar ${HOME}/matlab_workplace/java

cp mysql-connector-java-5.1.44-bin.jar ${HOME}/matlab_workplace/java

$ ls ${HOME}/matlab_workplace/java

mdt.jar mysql-connector-java-5.1.44-bin.jar

四、启动matlab把上面两个jar追加到matlab的classpath

执行

>> edit classpath.txt

注意:该命令需要用户对$matlabroot/toolbox/local/classpath.txt有写的权限,如果普通用户运行matlab需要执行:sudo chmod a+rw,另外matlab无法识别环境变量HOME,classpath.txt中需要追加jar文件的全路径

五、需要访问mysql建表脚步:

-- phpMyAdmin SQL Dump

-- version 4.1.2

-- http://www.phpmyadmin.net

--

-- Host: 127.0.0.1

-- Generation Time: 2018-06-13 23:07:24

-- 服务器版本: 5.7.22

-- PHP Version: 5.6.36

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

--

-- Database: `mymotif`

--

-- --------------------------------------------------------

--

-- 表的结构 `COURSE`

--

CREATE TABLE IF NOT EXISTS `COURSE` (

`CNO` char(6) NOT NULL,

`CNAME` char(12) NOT NULL,

`TEACHER` char(8) NOT NULL,

`TIME` smallint(6) NOT NULL,

PRIMARY KEY (`CNO`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--

-- 转存表中的数据 `COURSE`

--

INSERT INTO `COURSE` (`CNO`, `CNAME`, `TEACHER`, `TIME`) VALUES

('000001', '数学分析', '徐森林', 120),

('000003', '数据库设计', '王斌能', 60),

('000004', '数据库原理', '王珊', 120),

('000005', '数据结构', '苏运霖', 120),

('000006', '分析力学', '钱伟长', 80),

('000007', '高等分析', '徐治利', 80);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

五、运行

重启matlab(修改classpath重启后才能生效)

>> t = www.zjptcc.wxw.matjdbctest.TestMysql;

>> t.showatable();

000001 数学分析 徐森林 120

000003 数据库设计 王斌能 60

000004 数据库原理 王珊 120

000005 数据结构 苏运霖 120

000006 分析力学 钱伟长 80

000007 高等分析 徐治利 80

33281c5f4420998e88c68aad8198fe2a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值