SSM之二(Spring整合Mybatis)

項目與外界交互大概過程如下圖:
在這裏插入圖片描述
一般過程是:

  1. 前端發送請求,查詢數據、增加數據、修改數據、刪除數據
  2. 中間件經過處理後,對數據發送請求
  3. 數據庫返回數據,中間件再對數據處理
  4. 中間件響應前端請求

上一節關注的重點是WebProject與前端的交互,這次重點是與數據庫的交互。

spring整合mybatis分爲以下幾步:

  1. 添加相關jar包
  2. 創建實體類
  3. 創建數據訪問接口
  4. 配置SQL映射文件
  5. 配置Mybatis文件
  6. 將Mybatis整合到Spring中去

1. 添加maven依賴

   <!--連接mysql驅動-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.40</version>
    </dependency>

    <!--數據源包-->
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
    </dependency>

    <!--mybatis jar包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.3</version>
    </dependency>

    <!--mybatis-spring整合jar包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.1</version>
    </dependency>

2. 創建實體類

省略set,get方法

public class User {

    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;
}

3. 創建持久層接口

@Repository
public interface IUserMapper {
    public List<User> getUserList();
}

4. 配置sql映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssm.dao.IUserMapper">
    <resultMap id="userList" type="User"></resultMap>

    <select id="getUserList" resultMap="userList">
        select * from user1
    </select>

</mapper>

注意select的id要與方法名稱對應。

5. 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>
    <typeAliases>
        <package name="com.ssm.model"/>
    </typeAliases>


</configuration>

6. 將mybatis整合到spring容器中去

    <!--配置數據源-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!--連接數據庫的基本信息-->
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/sc?characterEncoding=utf-8"></property>
        <property name="user" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

    <!--配置SQLSessionFactory工廠-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:configure/mybatis-config.xml"></property>
        <property name="mapperLocations" >
            <list>
                <value>classpath:mapper/UserMapper.xml</value>
            </list>
        </property>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.ssm.dao"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章