一個框架的使用,必然離不開其中的組件支持。我們在下載完mybatis框架后,因為大部分的內部結構還沒有啟動,就要手動的對其進行配置。在之前有提到,mybatis框架的作用就有數據庫方面的,所以本篇文章帶來了數據庫和sql方面的配置方法,大家一起往下面看看具體操作。
1.配置數據庫
創建mybatis的配置文件,配置數據庫的信息。數據庫我們可以配置多個,但是默認的只能用一個。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?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,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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參數的設置
數據庫進行添加操作需要注意的問題
? ①.主鍵自增:在建立數據庫表的時候可以設置主鍵自增
? ②.主鍵不自增:可以自己手動設置
1
2
3
|
<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數據庫就不支持自增
1
2
3
|
<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框架配置詳解的文章就介紹到這了,更多相關java mybatis框架的配置內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.py.cn/java/jiaocheng/23495.html