陳老老老板?? ?????本文專欄:國產(chǎn)數(shù)據(jù)庫-人大金倉(kingbase8)(主要講一些人大金倉數(shù)據(jù)庫相關(guān)的內(nèi)容)
?????本文簡述:本文講一下Mybatis框架整合人大金倉數(shù)據(jù)庫,超級詳細。
?????上一篇文章: SpringBoot整合JPA+人大金倉(kingbase8)
?????有任何問題,都可以私聊我,我能幫得上的一定幫忙,感謝大佬們支持。
??我認(rèn)為人人都可以學(xué)好編程,我愿意成為你的領(lǐng)路人!(需內(nèi)推私聊)
一、人大金倉數(shù)據(jù)庫簡介
1.人大金倉是成立最早的擁有自主知識產(chǎn)權(quán)的國產(chǎn)數(shù)據(jù)庫企業(yè),以“提供卓越的數(shù)據(jù)庫產(chǎn)品助力企業(yè)級應(yīng)用高質(zhì)量發(fā)展”為使命,致力于“成為世界卓越的數(shù)據(jù)庫產(chǎn)品與服務(wù)提供商”。
2.KingbaseES是一款面向大規(guī)模并發(fā)交易處理的企業(yè)級關(guān)系型數(shù)據(jù)庫。 該產(chǎn)品支持嚴(yán)格的ACID特性、結(jié)合多核架構(gòu)的超凡性能、健全完善的安全標(biāo)準(zhǔn),以及完備的高可用方案,并提供可覆蓋遷移、開發(fā)及運維管理全使用周期的智能便捷工具。產(chǎn)品融合了人大金倉在數(shù)據(jù)庫領(lǐng)域幾十年的產(chǎn)品研發(fā)和企業(yè)級應(yīng)用經(jīng)驗,可滿足各行業(yè)用戶多種場景的數(shù)據(jù)處理需求。
特性:
遷移開發(fā) 簡單高效
高度容錯 穩(wěn)定可靠
性能強勁 表現(xiàn)出眾
系統(tǒng)自治 簡單易用
縱深防御 確保安全
全面兼容 深度適配
二、Mybatis整合人大金倉
說明:本篇使用的是SpringBoot框架+Mybatis+人大金倉的整合。如果想要案例,可以直接去我的下載資源中進行下載。
項目運行環(huán)境:
idea2020.2
V8
jdk1.8
springboot 2.3.12.RELEASE
1、創(chuàng)建項目
說明:其實創(chuàng)建項目可以省略的,但是還是給大家展示出來吧。詳細的步驟就不啰嗦了。
選擇組件就選lombok就OK了。其實我項目中使用的是springboot2.3.12.RELEASE
,因為適配用,非常的穩(wěn)定。大家自己改用項目版本就可以了。
2、創(chuàng)建與模式對應(yīng)用戶
說明:模式就是類似于MySQL的數(shù)據(jù)庫,模式下面在創(chuàng)建表就類似于MySQL的表
。創(chuàng)建與模式同名的用戶(先創(chuàng)建用戶在創(chuàng)建模式),用戶名:oa_manager,密碼:123456
設(shè)置權(quán)限,全選就可以,必須要有創(chuàng)建修改表的權(quán)限,否則用此用戶連接數(shù)據(jù)庫,通過JPA創(chuàng)建表的時候會因為沒有權(quán)限報錯。
3.創(chuàng)建模式
說明: 創(chuàng)建oa_manager模式。這樣用oa_manager用戶登錄就可以直接連上該模式不需要指定模式。
4.創(chuàng)建表
說明: 創(chuàng)建all_user表,創(chuàng)建id,Integer類型,不能為空,自增。name,varchar類型,可以為空,非自增。不用插入數(shù)據(jù),之后用JPA添加即可。
5.項目中添加坐標(biāo)
說明:這里需要自己先引入與Kingbase8整合的驅(qū)動jar包,kingbase8-8.6.0.jar下載地址:官網(wǎng)下載地址
jar包放入的位置,要與我的一致否則有可能找不到j(luò)ar。
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.kingbase8.jdbc</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
<scope>system</scope>
<systemPath>${pom.basedir}/libs/kingbase8-8.6.0.jar</systemPath>
</dependency>
</dependencies>
6.編寫配置文件
說明:這里提供的是yml版,想連接并且謝sql不需要使用模式名.表名
,就要先創(chuàng)建該模式的同名用戶,并用該用戶進行連接。注意mapper文件位置,否則可能會報mybaits框架問題。yml版
spring:
datasource:
driver-class-name: com.kingbase8.Driver
url: jdbc:kingbase8://localhost:54321/test
username: oa_manager
password: 123456
mybatis:
# 該配置就是將帶有下劃線的表字段映射為駝峰格式的實體類屬性
# 配置該項后,在開發(fā)中只需要根據(jù)查詢返回的字段,創(chuàng)建好實體類就可以了
configuration:
map-underscore-to-camel-case: true
mapper-locations: classpath*:mapper/*Mapper.xml
mapper:
# xml文件中resultMap的type、parameterType、resultType會引用一些實體類,我們需要寫上全限定類名,如果不寫全限定類名,只寫一個實體類的名稱:
type-aliases-package: com.sql.kingbase8_mybatis.domain
示例樣圖:
7.編寫實體類
說明:直接與數(shù)據(jù)庫表,進行映射即可。
@Data
public class AllUser {
private Integer id;
private String name;
}
示例樣圖:
8.編寫UserMapper接口
說明:創(chuàng)建調(diào)用數(shù)據(jù)層方法的對應(yīng)接口。
@Mapper
public interface UserMapper {
List<AllUser> select (Integer id);
void insert(String name);
void delete(Integer id);
List<AllUser> selectAll();
void update(@Param("name") String name,@Param("id") Integer id);
}
示例樣圖:
9.編寫對應(yīng)的UserMapperxml文件
說明:創(chuàng)建調(diào)用數(shù)據(jù)層方法的對應(yīng)接口的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.sql.kingbase8_mybatis.mapper.UserMapper">
<insert id="insert">
insert into all_user(name) values (#{name});
</insert>
<update id="update">
update all_user set name = #{name} where id = #{id};
</update>
<delete id="delete">
delete from all_user where id = #{id};
</delete>
<select id="select" resultType="AllUser">
select * from all_user where id = #{id};
</select>
<select id="selectAll" resultType="AllUser">
select * from all_user;
</select>
</mapper>
10.編寫測試類
說明:增刪改查都有,先save在update,看結(jié)果通過數(shù)據(jù)庫或者select查都可以。
@SpringBootTest
class Kingbase8MybatisApplicationTests {
@Autowired
private UserMapper userMapper;
/**
* 這里all_user表的id是自增,所以只傳入name
*/
@Test
void save(){
userMapper.insert("CLLLB");
this.selectAll();
}
/**
* 通過id查詢功能
*/
@Test
void select() {
List<AllUser> select = userMapper.select(1);
System.out.println(select);
}
/**
* 查詢?nèi)? */
@Test
void selectAll(){
List<AllUser> select = userMapper.selectAll();
System.out.println(select);
}
/**
* 通過id進行修改
*/
@Test
void update(){
userMapper.update("陳老老老板",1);
this.selectAll();
}
/**
* 通過id刪除
*/
@Test
void delete(){
userMapper.delete(1);
this.selectAll();
}
}
成功示例:
oooooooooooooooooooooooooooook了,超級簡單,超級詳細,有問題私聊我。文章來源:http://www.zghlxwxcb.cn/news/detail-403699.html
總結(jié):國產(chǎn)化是一個不可避免的趨勢,整合國產(chǎn)數(shù)據(jù)庫是必須要掌握的一步。希望對您有幫助,感謝閱讀
結(jié)束語:裸體一旦成為藝術(shù),便是最圣潔的。道德一旦淪為虛偽,便是最下流的。
勇敢去做你認(rèn)為正確的事,不要被世俗的流言蜚語所困擾。文章來源地址http://www.zghlxwxcb.cn/news/detail-403699.html
到了這里,關(guān)于SpringBoot整合Mybatis+人大金倉(kingbase8)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!