初學者Mybatis的初級使用
前言:本文章主要分三點內容對於Mybatis的初級使用進行教學,我們因為只是為了實現功能,而不是去了解底層封裝原理,因此,我們只需要瞭解,Mybatis只是用來後端管理sql 管理dao層的框架即可!
第一點:導框架包。
第二點:配置檔案
第三點:對於dao介面實現的xml檔案進行編寫(管理sql)
正文
第一點:
因為我使用的是Maven的工程模式來進行系統的開發,因此我在導jar包的過程不需要去直接下載jar放到工程,然後再add build…而我因為使用Maven只需要在jar網上覆制他的配置檔案,Maven就可以直接幫我導下來使用:
在工程名.web中找到pom.xml中,找到意思是所有,在這個的範圍內加入呼叫mybatis的架包:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- MyBatis相關依賴 Ends -->
這樣就完成了第一步。
第二點:去需要使用這個框架的工程裡面寫配置檔案,然後就可以使用
配置檔案的書寫:
在resource目錄下建立mybatis-config.xml檔案(檔名隨意啦),這是個是mybatis的主配置檔案。裡面主要配置property,typeAlias,typeHandler,environment,mapper等。
我的配置檔案如下:
<?xml version=”1.0″ encoding=”UTF-8″?>
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<!-- 載入相關資原始檔 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:oracle.properties</value>
<value>classpath:redis.properties</value>
</list>
</property>
<property name="fileEncoding" value="UTF-8"></property>
</bean>
<!-- 開啟註解掃描 -->
<context:annotation-config/>
<!-- 自動掃描的包名 -->
<context:component-scan base-package="org.mvtts">
<!-- 不控制 Controller註解,即與 Controller分離 -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 配置資料來源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.oracle.driverClassName}"/>
<property name="url" value="${jdbc.oracle.url}"/>
<property name="username" value="${jdbc.oracle.username}"/>
<property name="password" value="${jdbc.oracle.password}"/>
<property name="maxActive" value="${jdbc.oracle.maxActive}"/>
<property name="initialSize" value="${jdbc.oracle.initialSize}"/>
<property name="maxWait" value="60000"/>
<property name="minIdle" value="5"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="180"/>
<property name="connectionProperties" value="config.decrypt=true"/>
</bean>
<!-- SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 資料庫連線池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 載入MyBatis的全域性配置檔案 -->
<property name="mapperLocations">
<list>
<value>classpath:**/dao/**/*Mapper.xml</value>
</list>
</property>
</bean>
<!-- Mapper掃描器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 掃描包路徑,如果需要掃描多個包,中間使用半形逗號隔開 -->
<!-- 對**.dao包內進行掃描 -->
<property name="basePackage" value="**.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<!-- 事務管理器,對MyBatis運算元據庫事務控制,Spring使用jdbc的事務控制類 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" scope="singleton">
<!-- 資料來源dataSource在applicationContext-mybatis.xml中配置了 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 註解的事務管理@Transactional -->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
最後就是寫dao裡面介面實現的xml
下面是我寫的xml
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<id column="EVS_ID" property="evsId" jdbcType="DECIMAL" />
<result column="EVS_USE_ID" property="evsUseId" jdbcType="DECIMAL" />
<result column="EVS_ORTHER_ID" property="evsOrtherId" jdbcType="DECIMAL" />
<result column="EVS_CONTENT" property="evsContent" jdbcType="VARCHAR" />
<result column="EVS_STA_ID" property="evsStaId" jdbcType="DECIMAL" />
<result column="EVS_MEMO" property="evsMemo" jdbcType="VARCHAR" />
<result column="EVS_CREATE_TIME" property="evsCreateTime"/>
<result column="EVS_UPDATE_TIME" property="evsUpdateTime" />
<result column="EVS" property="evs" />
<result column="EVS_ID" property="evsId" jdbcType="DECIMAL" />
<result column="EVS_USE_ID" property="evsUseId" jdbcType="DECIMAL" />
<result column="EVS_ORTHER_ID" property="evsOrtherId" jdbcType="DECIMAL" />
<result column="EVS_CONTENT" property="evsContent" jdbcType="VARCHAR" />
<result column="EVS_STA_ID" property="evsStaId" jdbcType="DECIMAL" />
<result column="EVS_MEMO" property="evsMemo" jdbcType="VARCHAR" />
<result column="EVS_CREATE_TIME" property="evsCreateTime"/>
<result column="EVS_UPDATE_TIME" property="evsUpdateTime" />
<result column="EVS" property="evs" />
<result column="SAP_NAME" property="sapName"/>
<result column="SAP_ID" property="sapId" />
SELECT
SEQ_EVA_SCHOOL.NEXTVAL
FROM
dual
</selectKey>
INSERT INTO "EVALUATE_SCHOOL" (
"EVS_ID",
"EVS_USE_ID",
"EVS_ORTHER_ID",
"EVS_CONTENT",
"EVS",
"EVS_STA_ID",
"EVS_MEMO",
"EVS_CREATE_TIME",
"EVS_UPDATE_TIME"
)
VALUES
(
#{evsId},
#{evsUseId},
#{evsOrtherId},
#{evsContent},
#{evs},
1,
``,
SYSDATE,
SYSDATE
)
SELECT
A.*, B.SAP_NAME,
B.SAP_ID
FROM
EVALUATE_SCHOOL A
INNER JOIN STUDENT_APPLY B ON B.SAP_STU_ID = A .EVS_USE_ID
WHERE
A .EVS_ORTHER_ID = #{driId}
相關文章
- 初學者的迷茫
- 初學者的想法
- 初學者指南
- 初學者 (轉)
- java 初學者的疑惑!!!Java
- java初學者的疑惑Java
- Nginx初學者指南Nginx
- Groovy初學者指南
- JavaScript初學者必看“this”JavaScript
- npm 初學者教程NPM
- java 初學者必看Java
- 初學者救教
- RMAN 初學者指南
- 初識MybatisMyBatis
- 給初學者,因為我就是個初學者(3) (569字)
- 對Java初學者的忠告Java
- 初學者的小疑問
- 獻給UNIX的初學者
- 致 Python 初學者Python
- OAuth 2.0初學者指南OAuth
- Kotlin初學者指南Kotlin
- 【譯】GraphQL 初學者指南
- Apache Hudi初學者指南Apache
- Sprite Kit教程:初學者
- 初學者問題一
- 初學者-Winzip8.0
- [python]初學者地址Python
- 初學者Jpetstore問題?
- RMAN初學者指南(轉)
- 初級~~初級~~~初初級~~~KanjiWeb 3.0 (漢字通)破解~~~~~~~~~ (8千字)Web
- Vuex 的使用方式(初級版)Vue
- Linux初學者Patch使用指南(轉)Linux
- 給初學者,因為我就是個初學者(1) (3千字)
- 給初學者,因為我就是個初學者(2) (1千字)
- 給初學者,因為我就是個初學者(4) (1千字)
- 初識MyBatis框架MyBatis框架
- Electron 的初學者詳細指南
- 給初學者的Web安全指南Web