Mybatis 32_使用DatabaseIdProvider支持不同类型的数据库 项目0407支持不同类型的数据库

2024-01-10 09:27:39

支持不同类型的数据库

不同类型的数据库,在一些特定的地方,它的SQL语法是存在差异的。

MySQL的分页是: limit n, m --起始,总记录
PGSQl的分页: limit m offset n --总记录 offset 起始
Oracle的分页: 又不同……

databaseId属性

(1) 允许在定义SQL语句时指定databaseId属性。
指定数据库类型的ID, 该databaseId属性完全是可以随意指定的。
databaseId:代表数据库类型的ID。

(2) mybatis-config.xml为不同类型的数据库配置databaseId属性。

        <databaseIdProvider type="">
        </databaseIdProvider>

type属性指定databaseId分配器(必须DatabaseIdProvider)的实现类的完整类名。
DatabaseIdProvider实现类:负责为不同类型的数据库提供databseId
VendorDatabaseIdProvider:MyBatis内置的一个实现类。缩写为DB_VENDOR。
VendorDatabaseIdProvider的作用完全类似于Hibernate方言功能。

项目0407支持不同类型的数据库

主类

package lee;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.itcheng.app.dao.NewsMapper;

public class NewsManager
{
   
	// SqlSessionFactory应该是应用级别
	private static SqlSessionFactory sqlSessionFactory;
	public static void main(String[] args) throws IOException
	{
   
		String resource = "mybatis-config.x

文章来源:https://blog.csdn.net/weixin_39289095/article/details/134591933
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。