溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中配置一個mybatis框架

發布時間:2021-02-03 08:19:15 來源:億速云 閱讀:187 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在java中配置一個mybatis框架,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1.配置數據庫

創建mybatis的配置文件,配置數據庫的信息。數據庫我們可以配置多個,但是默認的只能用一個。

<?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"/>
<!-- 設置一個默認的連接環境信息 -->
<environments default="mysql_developer">
<!-- 連接環境信息,取一個任意唯一的名字 -->
<environment id="mysql_developer">
<!-- mybatis使用jdbc事務管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用連接池方式來獲取連接 -->
<dataSource type="pooled">
<!-- 配置與數據庫交互的4個必要屬性 -->
<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>
<!-- 連接環境信息,取一個任意唯一的名字 -->
<environment id="oracle_developer">
<!-- mybatis使用jdbc事務管理方式 -->
<transactionManager type="jdbc"/>
<!-- mybatis使用連接池方式來獲取連接 -->
<dataSource type="pooled">
<!-- 配置與數據庫交互的4個必要屬性 -->
<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 的配置創建外也可以通過 Java API 編程式地被創建。每個在 XML 中配置的元素,都可以編程式的創建。

使用 Java API 創建 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;
}

這個配置里,加載了一個映射類。映射類是包含了 SQL 映射注解的 Java類,可以用來取代 XML。然而 ,由于 Java 注解的一些限制和 MyBatis 映射的復雜性,一些高級的映射還是要用 XML 來配置,比如嵌套映射等。由于這個原因,MyBatis 會自動查找和加載已經存在的 XML。

內容擴展:

Mybatis參數的設置

數據庫進行添加操作需要注意的問題
①.主鍵自增:在建立數據庫表的時候可以設置主鍵自增

②.主鍵不自增:可以自己手動設置

<insert id="save" parameterType="Book" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
    insert into jpa_book (author,createTime,name,price,sales,stock) values (#{author},#{createTime},#{name},#{price},#{sales},#{stock});
  </insert>

keyColumn=“id” 指定數據庫表主鍵字段

keyProperty=“id” 設置數據庫表對應實體類的屬性名

useGeneratedKeys=“true” 開啟主鍵自增

③.主鍵不支持自增:例如Oracle數據庫就不支持自增

<selectKey keyProperty="id" resultType="int" keyColumn="id"  order="BEFORE"> 
        select LAST_INSERT_ID <!--或者使用 select UUID()生成-->
      </selectKey>

order=“BEFORE” 表示先生成主鍵再進行自增

select LAST_INSERT_ID 或者使用 select UUID() 通過函數生成主鍵值

以上就是如何在java中配置一個mybatis框架,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女