1.定义java jni方法
public class fafb{
static {
System.loadLibrary("libnative");
}
public static void main(String[] args) {
new HelloWorldJNI().testc();
}
// 定义原生sayHello()方法
private native void testc();
}
javah 生成fafb.h头文件,内容如下
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorldJNI */
#ifndef _Included_HelloWorldJNI
#define _Included_HelloWorldJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorldJNI
* Method: sayHello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorldJNI_fafb_testc
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
3.编写c类库,这个就是你自己的类库
#include <stdio.h>
#include "fafb.h"
JNIEXPORT void JNICALL Java_HelloWorldJNI_fafb_testc
(JNIEnv* env, jobject thisObject) {
init_coder_g927(¶m)
}
4.编译 C 代码,生成共享库
gcc -shared -fPIC -o libnative.so
目前目录文件应该有:
*.c *.class *.h *.java libnative.so
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_name` varchar(64) default NULL COMMENT '用户名',
`password` varchar(64) default NULL COMMENT '密码',
`name` varchar(64) default NULL COMMENT '姓名',
`phone` varchar(64) default NULL COMMENT '手机号',
`card_number` varchar(64) default NULL COMMENT '身份证号',
`manage` int(11) DEFAULT '0' COMMENT '0管理员1学员',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户';
CREATE TABLE `hangban` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`flight_number` varchar(64) DEFAULT NULL COMMENT '航班号',
`start_time` timestamp DEFAULT NULL COMMENT '开始时间',
`end_time` timestamp DEFAULT NULL COMMENT '结束时间',
`hige_price` decimal(10,2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '高价格',
`common_price` decimal(10,2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '价格',
`hige_num` int DEFAULT NULL COMMENT '高数量',
`common_num` datetime DEFAULT NULL COMMENT '数量'
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='航班';
<dependencies>
<!--web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--test测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
</dependencies>
<!--maven打包依赖-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 配置在plugins中 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite> <!-- 重复生成时覆盖掉上次生成的文件 -->
</configuration>
</plugin>
</plugins>
</build>
spring:
datasource:
url: jdbc:mysql://10.83.128.1:13300/vms
username: dev_admin
password: sidNkyy6h0wkNinH
#指定mybatis映射文件的地址
mybatis:
mapper-locations: classpath:mappers/*.xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>