springboot+mybatis+达梦数据库
准备工作:
首先,安装达梦6数据库。安装完之后如下建表

然后,很重要的一点(写法一定要这样写,否则无限报错)
达梦数据库查表方式:
select * from "库名"."模式名"."表名"
其次,下载达梦数据库驱动包(这个通过maven在线下载是下载不到的!)

网上的包很多,有dm6,dm7 ...。。。。。。
都试过,和springboot不兼容。用上面这个名字的最新的包。
再然后,把驱动包打入本地maven仓库,命令如下:
mvn install:install-file -DgroupId=com.dm -DartifactId=DmJdbcDriver -Dversion=1.7.0 -Dpackaging=jar -Dfile=D:\DmJdbcDriver.jar
搭建项目:
新建springboot 1.5.21,只选择web
架构如下图:

pom文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.21.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.qif.xdqdm</groupId>
<artifactId>xdqdm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>xdqdm</name> <description>Demo project for Spring Boot</description> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency> <!--添加servlet的依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> <!--必须指定mybatis版本为3.4.1否则无法连接达梦数据库 -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency> <dependency>
<groupId>com.dm</groupId>
<artifactId>DmJdbcDriver</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.32</version>
</dependency> <!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency> </dependencies> <build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build> </project>
Myconfig(设置初始页面为index):
package com.qif.xdqdm.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration
public class MyConfig extends WebMvcConfigurerAdapter { //所有的WebMvcConfigurerAdapter组件都会一起起作用
@Bean //将组件注册在容器
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index"); }
};
return adapter;
} }
TxtUtil不用管,自己用的工具
UserController:
package com.qif.xdqdm.controller; import com.qif.xdqdm.model.User;
import com.qif.xdqdm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map; /**
* @author
* @Title: UserController
* @ProjectName xdqdm
* @Description: TODO
* @date 2019/7/24 11:13
*/
@Controller
public class UserController { @Autowired
UserService userService; @RequestMapping("/getUserList")
@ResponseBody
public Map<String, Object> getUserList(HttpServletRequest request){
Map<String, Object> map = new HashMap<String, Object>();
List<User> userList = userService.getUser(); map.put("data", userList);
map.put("message", "成功"); return map;
}
}
UserDao:
package com.qif.xdqdm.dao; import com.qif.xdqdm.model.User;
import org.springframework.stereotype.Repository; import java.util.List; /**
* @author
* @Title: UserDao
* @ProjectName xdqdm
* @Description: TODO
* @date 2019/7/24 11:17
*/
@Repository
public interface UserDao {
List<User> getUserList();
}
User:
package com.qif.xdqdm.model; /**
* @author
* @Title: User
* @ProjectName sfyz
* @Description: TODO
* @date 2019/7/24 10:51
*/
public class User {
private Integer id;
private String name; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}
UserService:
package com.qif.xdqdm.service; import com.qif.xdqdm.model.User; import java.util.List; /**
* @author
* @Title: UserService
* @ProjectName xdqdm
* @Description: TODO
* @date 2019/7/24 11:15
*/
public interface UserService {
List<User> getUser();
}
UserServiceImpl:
package com.qif.xdqdm.service.impl; import com.qif.xdqdm.dao.UserDao;
import com.qif.xdqdm.model.User;
import com.qif.xdqdm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import java.util.List; /**
* @author
* @Title: UserServiceImpl
* @ProjectName xdqdm
* @Description: TODO
* @date 2019/7/24 11:15
*/
@Service
public class UserServiceImpl implements UserService { @Autowired
UserDao userDao;
@Override
public List<User> getUser() {
return userDao.getUserList();
}
}
XdqdmApplication:
这里不能用springboot自带tomcat8启动类启动,与达梦6驱动包不兼容!
package com.qif.xdqdm; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
//扫描dao包
@MapperScan(value = "com.qif.xdqdm.dao")
@SpringBootApplication
public class XdqdmApplication extends SpringBootServletInitializer { public static void main(String[] args) {
SpringApplication.run(XdqdmApplication.class, args);
} @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
} }
选择tomcat7:

UserDao.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qif.xdqdm.dao.UserDao"> <select id="getUserList" resultType="com.qif.xdqdm.model.User"> SELECT * FROM "TEST"."SYSDBA"."USER" ; </select> </mapper>
index: "helloworld"
application.properties:
#驱动包
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver
#12345为达梦6默认端口号 Test为库名
spring.datasource.url=jdbc:dm://localhost:12345/TEST #达梦数据库6默认的账户和密码
spring.datasource.username=SYSDBA
spring.datasource.password=SYSDBA
application.yml:
mybatis:
# 指定sql映射文件位置
mapper-locations: classpath:mybatis/mapper/*.xml
logback(乱码则修改GBK为UTF-8):
<?xml version="1.0" encoding="GBK"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<springProperty scope="context" name="logLevel" source="logging.levels"/>
<springProperty scope="context" name="logPath" source="logging.path"/>
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} =================%contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>GBK</charset>
</encoder>
</appender> <!--输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logPath}logback.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender> <root level="info">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root> </configuration>
springboot+mybatis+达梦数据库的更多相关文章
- 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作
由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...
- 国产达梦数据库的结合Enterprise Library的应用开发
在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数 ...
- DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库
DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 本文详细地介绍了"万能数据库查询分析器&qu ...
- 达梦数据库DM7小结
除了很多主流的数据库,我们很熟悉之外,越来越多的国产数据库也涌现出来. 这次就小结一些有关武汉的达梦数据库7这个开发版数据库的有别或者需要注意的地方进行一个简单备注吧. 1.第一件大事就是下载.数据库 ...
- Shell脚本使用汇总整理——达梦数据库备份脚本
Shell脚本使用汇总整理——达梦数据库备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/9223477.html 脚本 ...
- .NETCore 访问国产达梦数据库
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...
- [开源] .Net 使用 ORM 访问 达梦数据库
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...
- Linux平台达梦数据库V7单实例安装方式之图形方式
一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...
- [转帖]达梦数据库(DM6)和ORACLE 10g的异同点
达梦数据库(DM6)和ORACLE 10g的异同点 https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...
随机推荐
- 两个问题: 1、头文件重复包含 2、头文件加了ifndef条件预处理指令为什么还会定义
第一个问题:编译时重定义 文件1.h void fun1(); struct A { int a char b; }; 文件2.h #include"1.h" struct B ...
- python语法基础(类)
一.什么是类? 类是具有相同属性的一类事物 类还有功能和属性,属性就是这类事物的特征,而功能就是它能做什么,也是就是方法或者函数. 在python中类用关键词class来声明 二.类的声明 类的声明方 ...
- JS对象 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
返回指定的字符串首次出现的位置 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(substring, startpos) 参 ...
- C#让两个长度相同的数组一一对应
比如: string a[]={"x","y","z"} "} 用字典使其一一对应 Dictionary<string, s ...
- Linux 服务器 个人常用操作命令记录
1.实时查看log:tail -f 日志文件名 2.查看Apache运行的用户组或用户名:ps aux | grep httpd 或者是: ps -ef | grep httpd 3.查看cronta ...
- Java中的API方法总结
API方法总结 File file = new File(path); #创建文件对象,指向一个目录 file.exists() #判断目录或者文件是否存在 File[] files = file.l ...
- Windows 设置内网和外网同时使用
想要电脑同时使用内网和外网必须具备两个网卡,一个是无线网卡一个是本地连接,无线网卡用来连接wifi也就是外网,而本地连接需要网线连接内网,外网是不需要做设置的,我们只需要设置内网即可,鼠标右击电脑右下 ...
- csps模拟8990部分题解
题面: 666: 重点在题意转化:每个数可以乘k,代价为k,可以减一,代价为1, 所以跑最短路即可 #include<iostream> #include<cstdio> #i ...
- Oracle Spatial导入shp数据
现在开始尝试用oracle spatial管理空间数据,刚学会shp数据的导入,总结如下.oracle11g安装后,已经有了oracle spatial组件,我们只需要用shp2sdo.exe工具,就 ...
- SpringBoot:目录
ylbtech-SpringBoot:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://yl ...