溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java mybatis框架如何配置

發(fā)布時(shí)間:2022-06-01 15:55:29 來(lái)源:億速云 閱讀:142 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“java mybatis框架如何配置”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“java mybatis框架如何配置”文章能幫助大家解決問(wèn)題。

1.配置數(shù)據(jù)庫(kù)

創(chuàng)建mybatis的配置文件,配置數(shù)據(jù)庫(kù)的信息。數(shù)據(jù)庫(kù)我們可以配置多個(gè),但是默認(rèn)的只能用一個(gè)。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
 
<configuration>
<!-- 加載類路徑下的屬性文件 -->
<properties resource="db.properties"/>
 
<!-- 設(shè)置一個(gè)默認(rèn)的連接環(huán)境信息 -->
<environments default="mysql_developer">
<!-- 連接環(huán)境信息,取一個(gè)任意唯一的名字 -->
<environment id="mysql_developer">
<!-- mybatis使用jdbc事務(wù)管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用連接池方式來(lái)獲取連接 -->
<dataSource type="pooled">
<!-- 配置與數(shù)據(jù)庫(kù)交互的4個(gè)必要屬性 -->
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
<!-- 連接環(huán)境信息,取一個(gè)任意唯一的名字 -->
<environment id="oracle_developer">
<!-- mybatis使用jdbc事務(wù)管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用連接池方式來(lái)獲取連接 -->
<dataSource type="pooled">
<!-- 配置與數(shù)據(jù)庫(kù)交互的4個(gè)必要屬性 -->
<property name="driver" value="${oracle.driver}"/>
<property name="url" value="${oracle.url}"/>
<property name="username" value="${oracle.username}"/>
<property name="password" value="${oracle.password}"/>
</dataSource>
</environment>
</environments>
</configuration>

2.配置SqlSessionFactory

MyBatis 的SqlSessionFactory 接口除了使用基于 XML 的配置創(chuàng)建外也可以通過(guò) Java API 編程式地被創(chuàng)建。每個(gè)在 XML 中配置的元素,都可以編程式的創(chuàng)建。

使用 Java API 創(chuàng)建 SqlSessionFactory,代碼如下:

public static SqlSessionFactory getSqlSessionFactoryUsingJavaAPI() {
    if (javaSqlSessionFactory == null) {
        try {
            DataSource dataSource = DataSourceFactory.getDataSource();
            TransactionFactory transactionFactory = new JdbcTransactionFactory();
            Environment environment = new Environment("development", transactionFactory, dataSource);
            Configuration configuration = new Configuration(environment);
            configuration.getTypeAliasRegistry().registerAlias("student", Student.class);
            configuration.getTypeHandlerRegistry().register(PhoneTypeHandler.class);
            configuration.addMapper(StudentMapper.class);
            javaSqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
 
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    return javaSqlSessionFactory;
}

這個(gè)配置里,加載了一個(gè)映射類。映射類是包含了 SQL 映射注解的 Java類,可以用來(lái)取代 XML。然而 ,由于 Java 注解的一些限制和 MyBatis 映射的復(fù)雜性,一些高級(jí)的映射還是要用 XML 來(lái)配置,比如嵌套映射等。由于這個(gè)原因,MyBatis 會(huì)自動(dòng)查找和加載已經(jīng)存在的 XML。

關(guān)于“java mybatis框架如何配置”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI