mybatis细节(二)

问题回顾:在mybatis之前的mybatis项目创建中我们提出了几个问题:

1.resources下的 组织编号和 java下的组织编号必须一样

2.解决不了mapper.xml存放在resources以外路径中的读取问题

3.书写效率低

4.日志依赖没有进行使用

(46条消息) mybatis简介和项目创建 (一)_谁是黄黄的博客-CSDN博客

问题1和2:resources下的 组织编号和 java下的组织编号必须一样

(即包名一样)
在这里插入图片描述

那UserMapper.xml的包名和UserMapper的包名一样,我们这里能不能把UserMapper.xml和UserMapper放放到同一个包中?

解决方案:

1.第一步,看看target

首先我们看到target的mapper包中这两个文件是放在一起的,说明在在编译后这两个文件在同一个目录,且只有这两个文件在同一个个目录中才能进行查找

在这里插入图片描述

2.第二步,删掉target,把两个文件放到同一个包中

在这里插入图片描述

3.运行报错

我们会发现他报错:resource 找不到UserMapper.xml文件,说明我们不能把UserMapper.xml文件丢人到mapper包中,再查看target,果然是没有UserMapper.xml文件

在这里插入图片描述

4.如何把UserMapper.xml文件丢入到mapper包中,而不报错(解决UserMapper.xml存放在resources以外路径中的读取问题)

在pom.xml文件最后追加< build >标签,以便可以将xml文件复制到classes中,并在程序运行时正确读取。

 <build>
        <!--指定默认资源路径,如果不设置就被覆盖-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
         <resource>
                <directory>src/main/java</directory>
                <includes>
                    <!-- 新添加 */代表1级目录 **/代表多级目录 -->
                    <!--**/*表示所有的文件,不管几层都是可用的-->
                    <!-- .xml表示以.xml为后缀-->
                    <include>**/*.xml</include>
                </includes>
         </resource>
        </resources>
    </build>
5.测试

在这里插入图片描述

问题3:书写效率低

​ 解决方案

1.配置jdbcConfig.properties配置文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useUnicode=true&characterEncpding=utf8
jdbc.username=root
jdbc.password=1234
2.mybatis-config 更改
2.1. 中添加properties配置文件路径(外部配置、动态替换)
2.2 原本路径改为动态路径(利用el表达式)
 <!--添加properties配置文件路径(外部配置、动态替换)-->
    <properties resource="jdbcConfig.properties" />

    <environments default="mysql">
        <environment id="mysql">
            <!--事务管理器-->
            <transactionManager type="JDBC"></transactionManager>
            <!--数据源 连接池-->
            <dataSource type="POOLED">
                <!--数据库基础四项-->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url"    value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password"  value="${jdbc.password}"/>
            </dataSource>
        </environment>

    </environments>
2.3(设置别名)mybatis-config.xml 为实体类定义别名,提高书写效率。
<typeAliases>
<package name="com.huang.maven.entity"/>
</typeAliases>
<?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配置文件路径(外部配置、动态替换)-->
    <properties resource="jdbcConfig.properties" />

    <!--设置别名-->
    <typeAliases>
        <!--单个设置,一般不用-->
       <!-- <typeAlias type="com.huang.maven.entity.User" alias="user"></typeAlias>-->
        <!--所有的设置实体类设置别名,默认的别名就是类名的首字母小写 User别名为user-->
        <package name="com.huang.maven.entity"/>
    </typeAliases>


    <environments default="mysql">
        <environment id="mysql">
            <!--事务管理器-->
            <transactionManager type="JDBC"></transactionManager>
            <!--数据源 连接池-->
            <dataSource type="POOLED">
                <!--数据库基础四项-->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url"    value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password"  value="${jdbc.password}"/>
            </dataSource>
        </environment>

    </environments>

    <!--将mapper文件与核心配置文件进行关联-->
    <mappers>
        <mapper resource="com/huang/maven/mapper/UserMapper.xml"></mapper>
    </mappers>
</configuration>

设置完成别名之后

UserMapper.xml 可以改为

<mapper namespace="com.huang.maven.mapper.UserMapper">
    <select id="selectAllList" resultType="user">
        select *
        from user
    </select>
</mapper>
问题四:日志依赖没有使用
4.1.常用的日志
级别描述
DEBUG输出调试信息;指出细粒度信息事件对调试应用程序是非常有帮助的。
ALL LEVEL打开所有日志记录开关;是最低等级的,用于打开所有日志记录。
INFO输出提示信息;消息在粗粒度级别上突出强调应用程序的运行过程。
4.2 导入依赖(已经导入了)
<!-- log4j日志依赖 https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
</dependency>
4.3 创建并配置log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

ps:记得配模板

(47条消息) 如何在idear中创建一个自己想要的文件模板_谁是黄黄的博客-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值