SSM——Mybatis环境搭建(Maven项目)

SSM——Mybatis框架环境搭建

写在前面:本文介绍了基于MySQL的Mybatis环境搭建,主要用作学习笔记。因笔者水平有限,存在错误在所难免,恳请读者批评指正。
1)pom.xml依赖

	<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <!--使用MySQL5的版本号改为5.1.6-->
            <version>8.0.21</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>

        <!--如果要编译过程中需要使用日志和测试可以额外添加以下依赖-->
        <!--日志-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <!--测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

2)在resources目录下创建SqlMapConfig.xml文件。(这是Mybatis框架的配置文件,在要连接数据库前需要先读取该配置文件,5)中会介绍如何加载。如果在开发过程中使用.xml文件方式配置SQL语句,则SqlMapConfig.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>

    <!-- 配置实体类所在位置-->
    <typeAliases>
        <!--name属性的值需要根据实际实体类位置进行设置-->
        <package name="com.young.domain"/>
    </typeAliases>

    <!--配置数据源-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <!--数据库基本信息-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--MySQL5的url配置为<property name="url" value="jdbc:mysql:///for_learn"/>-->
                <property name="url" value="jdbc:mysql:///for_learn?useSSL=false&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定带有注解的dao接口所在位置-->
    <mappers>
        <mapper resource="com/young/dao/IUserDao.xml"/>
    </mappers>
</configuration>

如果直接在开发过程中使用注解的方式设置SQL语句,则标签的内容需要改成以下内容,指定接口所在的包名,且无需再创建额外的.xml文件(推荐)。

	<mappers>
        <package name="com.young.dao"/>
    </mappers>

或者直接指定接口所在位置

	<mappers>
        <mapper class="com.young.dao.IUserDao"></mapper>
    </mappers>

3)如果直接使用.xml方式(不使用注解的方式),还需要在resources目录下一级一级创建相应目录及.xml文件。按以上配置应该在"com/young/dao/创建IUserDao.xml文件,内容如下。(这就是我们真正填写SQL语句的地方,Mybatis框架会根据配置文件找到该文件,用于为我们的Dao接口创建代理对象)

<?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.young.dao.IUserDao">
    <!--配置findAll()方法的sql语句及返回类型-->
    <select id="findAll" resultType="com.young.domain.User">
        SELECT * FROM user
    </select>
</mapper>

4)如果还需要使用日志,还应该在resource目录下创建log4j.properties文件,内容如下。

log4j.rootCategory=debug, CONSOLE, LOGFILE

log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

5)经过以上配置之后,在需要操作数据库的地方获取持久层接口的代理对象

/*
 * @author Northern
 * */
//1.读取配置文件输入流
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.获取SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
//3.从SqlSessionFactory工厂创建Sqlsession对象
SqlSession sqlSession = factory.openSession();
//4.获取Dao层接口代理对象
IUserDao userDao = sqlSession.getMapper(IUserDao.class);

注:以上内容参考传智播客系列视频

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值