数据库的国产化意味着国内企业可以自主研发和生产数据库产品,不再依赖于国外厂商的技术和产品。这对于国内企业来说,具有重要的战略意义和经济意义。
而中间件在信息系统中肩负着“承上启下”的重任。从保障信息安全的角度来看,由操作系统、数据库、中间件“三架马车”共同组成的基础软件必须采用具备自主知识产权的产品与技术,才能确保信息系统的自主可控性。
由此可见,国产数据库和中间件的学习具有坡远的意义,那接下来便开始我们的学习之旅。
pom.xml引入达梦JDBC jar包
<dependency>
<groupId>com.dameng</groupId>
<artifactId>Dm8JdbcDriver18</artifactId>
<version>8.1.1.49</version>
</dependency>
maven本地仓添加金蝶jar包
mvn install:install-file -Dfile=aams-spring-boot-starter-all-2.1.7.RELEASE.jar -DgroupId=com.apusic -DartifactId=aams-spring-boot-starter-all -Dversion=2.1.7.RELEASE -Dpackaging=jar -DpomFile=pom.xml
pom.xml引入金蝶相关依赖
<dependency>
<groupId>com.apusic</groupId>
<artifactId>aams-spring-boot-starter-all</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
项目根目录新建金蝶配置文件license.xml
<?xml version="1.0" encoding="UTF-8"?>
<license
product="Apusic Application Server"
edition="Agile Edition"
version="V10.0"
licensee="金蝶天燕测试"
datefrom="2023-05-24"
expiration="2023-09-30"
license_ver="43"
extraAttrs="null"
signature="dnhgXrnlcRfFnsniXiO3j1EDv3M9Um5Z8oT28lGC1eO4dq1LnOjdDzPWI3gYgYTLAM07WAfqdV/yAyIsD0qyPz9gN5oRYplZy0JkIFO0XzbFXla2gaDAgOd1hnY1v1TZVvlOZeadkpcCHyke+LPXaOp42cRMJy5OWLbrDzxHfxZspWJmC80HPrFa/mx85bDcwBbjnzczO3NvlKNgzej8D8bV4OM43URO+62KMRvUwhf8pbVumdLTEKwbfgBRvpAfPTxIb5hnz1yRrzoySUc0l0IIOUoTjmS/A46F2U8ldper/66hVzTKz1eTqXLz/a459ifEc9GKzBAdvo6pQQPv6G77+YHbxZdx57ExTQ7t68riTA2GTv4BbQczdQeBZiZ/hE2HRluJAceKPm7lqHqunVsBbQW0mK3gbLkcbkAxV6tzXmqHviD4/AT0Ya6fOaAdBpYwydOoqhHJ6xl2W1Z4eSMq4A1cFogW6s7fUMM0H2Q+6L3aL8JpWPcOo/9DGznQ"
/>
创建user11表
create table "UTEST". "USER11"
(
"ID" INTEGER not null,
"UNAME" CHAR(10),
"PWD" CHAR(10),
primary key("ID")
);
insert into utest.user11 values(1,'user1','pwd1');
insert into utest.user11 values(2,'user2','pwd2');
commit;
创建login.html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="/api/user/login" method="post">
用户:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit">
</form>
</body>
</html>
创建main.html页面,也就是登录成功后跳转的页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>主页</title>
</head>
<body>
<h2>登录成功,这里是主页
</body>
</html>
创建error.html页面,也就是登录失败后跳转的页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>错误页面</title>
</head>
<body>
密码错误或找不到该用户
</body>
</html>
配置application.yml
server:
port: 8090
spring:
servlet:
multipart:
# 单个文件的最大值
max-file-size: 1024MB
# 上传文件总的最大值
max-request-size: 1024MB
datasource:
driverClassName: dm.jdbc.driver.DmDriver
url: jdbc:dm://192.168.1.18:5236
username: UTEST
password: 123456
thymeleaf:
mode: HTML5
encoding: UTF-8
#开发配置为false,避免修改模板还要重启服务器
cache: false
prefix: classpath:/templates/
suffix: .html
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
配置pom.xml里的依赖
<dependencies>
<!--达梦数据库驱动-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>Dm8JdbcDriver18</artifactId>
<version>8.1.1.49</version>
</dependency>
<dependency>
<groupId>com.apusic</groupId>
<artifactId>aams-spring-boot-starter-all</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--支持session共享 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.22</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<!-- 谷歌二维码 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.1.0</version>
</dependency>
<!--上传文件-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.10</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<!-- ⭐️其他资打包到资源里 -->
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
创建user.java
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName("UTEST.USER11")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "唯一主键,ID")
private int id;
@ApiModelProperty(value = "uname")
private String uname;
@ApiModelProperty(value = "pwd")
private String pwd;
}
创建UserMapper.java
package org.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.example.model.User;
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT id,uname,pwd from utest.user11 WHERE uname=#{username}")
User getByUserName(@Param("username") String username);
}
创建UserController.java和ViewController.java
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Slf4j
@Controller
@RequestMapping("")
public class ViewController {
@GetMapping("/login")
public String login(){
return "login";
}
}
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.example.mapper.UserMapper;
import org.example.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Controller
@RequestMapping("/api/user")
public class UserController {
@Resource
private UserMapper userMapper;
@ResponseBody
@GetMapping("/get")
public List<User> getAll(){
return userMapper.selectList(new QueryWrapper<>());
}
@PostMapping("/login")
public String login(@RequestParam("username") String username,@RequestParam("password") String password){
User user = userMapper.getByUserName(username);
log.info(user.toString());
if(user != null){
if(user.getPwd().replace(" ","").equals(password)){
return "main";
}
}
return "error";
}
}
浏览器访问 http://localhost:8090/login
文章
阅读量
获赞
