美文网首页Java 学习笔记
SpringMVC SSM框架笔记二:xml配置Mybatis

SpringMVC SSM框架笔记二:xml配置Mybatis

作者: 仙大 | 来源:发表于2019-12-03 09:46 被阅读0次

    spring整合mybatis有多重方式

    • xml配置Mybatis,代码通过mybatis的xml配置生成SqlSessionFactory(这种方法已过时)

    原始xml方式整合

    通过maven引入SpringMVC和Mybatis包

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.1.10.RELEASE</version>
    </dependency>
    
    <!--mariadb的JDBC驱动-->
    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>2.4.4</version>
    </dependency>
    
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.2</version>
    </dependency>
    

    创建表结构

    CREATE TABLE tb_province (
        id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',
        province varchar(255) NULL COMMENT '省份中文名'
    );
    

    创建数据库表映射class

    class TbProvinceEntity {
        var id: Int? = null
        var province: String? = null
    }
    

    创建Dao层接口

    /**
     * 注解:@Mapper 必须添加,否则不会生成对应的实现子类
     */
    @Mapper
    interface ProvinceMapper {
        fun getList(): List<TbProvinceEntity>
    }
    

    建立 db.properties 配置数据库(一般存放在resource目录)

    #db.properties 文件内容
    
    jdbc.driver=org.mariadb.jdbc.Driver
    jdbc.url=jdbc:mariadb:/xx.com:8700/test
    jdbc.username=xxx
    jdbc.password=xxx
    

    resource文件夹下建立MyBatis配置文件

    mybatis-config.xml 文件
    
    <?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"/> <!--引入db配置-->
        <settings>
            <setting name="cacheEnabled" value="false"/> <!--缓存配置-->
            <setting name="logImpl" value="LOG4J"/> <!--日志代理-->
        </settings>
        <environments default="dev"> <!--default=默认配置,-->
            <environment id="dev">
                <transactionManager type="JDBC"/> <!--存储过程管理,默认使用JDBC-->
                <dataSource type="POOLED"> <!--type=POOLED 使用连接池-->
                    <property name="url" value="${jdbc.url}"/>
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="password" value="${jdbc.password}"/>
                    <property name="username" value="${jdbc.username}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers><!--配置mapper的映射地址-->
            <!--
            1:使用相对路径进行配置
            路径的根目录为classpath
            -->
            <mapper resource="com/test/mapper/ProvinceMapper.xml"/>
    
            <!--
            2:使用绝对路径进行配置
            路径可以是本地磁盘任意位置的xml文件
            -->
            <mapper url="file:///com/test/mapper/ProvinceMapper.xml"/>
    
            <!--
            3:使用接口信息进行配置
            此时对应的映射文件必须与接口位于同一路径下,并且名称相同
            示例接口文件:ProvinceMapper.java
            对应的mapper配置文件:ProvinceMapper.xml
            -->
            <mapper class="com.test.mapper.ProvinceMapper"/>
    
            <!--
            4:使用接口所在包进行配置
            此时对应的映射文件必须与接口位于同一路径下,并且名称相同
            示例接口文件:ProvinceMapper.java
            对应的mapper配置文件:ProvinceMapper.xml
            -->
            <package name="com.test.mapper"/>
        </mappers>
    </configuration>
    
    

    使用方法

    /**
     * 配置文件需要打包放在运行时项目的根目录下
     * mybatis-config.xml
     * 使用builder设计模式创建SessionFactory:SqlSessionFactoryBuilder
     * 使用ClassPathResource加载配置资源
     */
    val sessionFactory = SqlSessionFactoryBuilder().build(ClassPathResource("mybatis-config.xml").inputStream)
    val session = sessionFactory.openSession()
    val provinceMapper = session.getMapper(ProvinceMapper::class.java)
    provinceMapper.getList()
    

    相关文章

      网友评论

        本文标题:SpringMVC SSM框架笔记二:xml配置Mybatis

        本文链接:https://www.haomeiwen.com/subject/vqzqgctx.html