從零開始···整合mybatis

接下來是整合mybatis到工程中。
首先是導入需要的jar包:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.10.RELEASE</version>
</dependency> 
<!-- mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>
<!-- 數據連接池,並提供其他功能 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.2</version>
</dependency>
<!-- end -->
<!-- mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.1</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>
<!-- end -->

這裏用到了阿里巴巴開發的druid作爲數據連接池,它的基本配置可以參考
https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_DruidDataSource%E5%8F%82%E8%80%83%E9%85%8D%E7%BD%AE
其他內容可以百度搜索。
導入所需JAR包後就要開始建立配置文件,在springMVC中整合mybatis需要以下幾個配置文件
application-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
       xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"  
       xmlns:context="http://www.springframework.org/schema/context" 
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
       http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd  
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  

     <!-- 該包下的類支持註解,表示會被當作{@code mybatis mapper}處理 配置了之後表示可以自動引入mapper類-->  
    <mybatis:scan base-package="com.rf"/>  
    <!--引入屬性文件 -->  
    <context:property-placeholder location="classpath:jdbc.properties"/>  

    <!--數據庫連接-->  
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">   
        <property name="url" value="${jdbc.url}" />  
        <property name="username" value="${jdbc.username}"/>  
        <property name="password" value="${jdbc.password}"/>  
        <!-- 配置初始化大小、最小、最大 -->  
        <property name="initialSize"><value>1</value></property>  
        <property name="maxActive"><value>5</value></property>  
        <property name="minIdle"><value>1</value></property>  
        <!-- 配置獲取連接等待超時的時間 -->  
        <property name="maxWait"><value>60000</value></property>  
        <!-- 配置監控統計攔截的filters -->  
        <property name="filters"><value>stat</value></property>  
        <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->  
        <property name="timeBetweenEvictionRunsMillis"><value>60000</value></property>  
        <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->  
        <property name="minEvictableIdleTimeMillis"><value>300000</value></property>   
    </bean>  

    <!-- mybatis配置 -->  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" /> 
    </bean>   
</beans>

然後是.properties屬性文件,如果嫌麻煩可以不要這個,一些參數直接寫在上述配置文件中,比如url,username等。
下面是配置文件的目錄:
配置文件目錄
接下來就是建立相關類實驗一下:
目錄
這裏我使用註解的方式實現動態注入,各類的註解詳情如下:
controller:

@Controller
@RequestMapping("/fc")
public class FirstController {
    @Autowired
    private FirstService fService;

    @RequestMapping("/start.do")
    @ResponseBody
    public Object start(HttpServletRequest request) {
        Object result = new Object();
        result = "hello world!";
        Integer n = fService.countNum();
        result = result + "--" + n;
        return result;
    }
}

service:

@Service
public class FirstService {
    @Autowired
    private FirstDao fDao;

    public Integer countNum() {
        return fDao.countNum();
    }
}

dao:

@Repository
public class FirstDao {
    @Resource
    private FirstMapper fMapper;

    public Integer countNum() {
        return fMapper.countNum();
    }
}

最後測試一下,成功從庫中查詢到數據了。

發佈了37 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章