Maven + MyBatis

文章目录

  • [Maven 配置](#Maven 配置)
  • [mybatis-config.xml 核心配置文件模板](#mybatis-config.xml 核心配置文件模板)
  • [mybatis 映射 mapper可以 package不可以解决](#mybatis 映射 mapper可以 package不可以解决)

Maven目录结构

Maven 配置

  1. 核心配置文件
xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!--根元素-->
<configuration>
    <!-- 加载外部配置文件 -->
    <properties resource="jdbc.properties"/>

    <!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式  user_name  -> userName 或 username -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!-- 配置别名 把长名字 变成 短名字 -->
    <typeAliases>
        <!-- 扫描制定包  把 包下所有的类都起别名  格式: 全部小写 或者 和类名一致 -->
        <package name="com.hebut.pojo"/>
    </typeAliases>

    <!-- 配置数据源 -->
    <environments default="development">

        <!-- 配置开发环境 -->
        <environment id="development">
            <transactionManager type="JDBC"/>
            <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>

        <!-- 配置测试环境 -->
        <environment id="test">
            <transactionManager type="JDBC"/>
            <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>

    <!-- 配置映射文件 -->
    <mappers>
        <!-- 扫描指定包  把包下所有的映射文件都加载进来 -->
        <!--        <package name="com.hebut.dao"/>-->

        <mapper resource="com.hebut.dao/UserMapper.xml"/>
    </mappers>
</configuration>
  1. 映射文件
xml 复制代码
<?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.hebut.dao.UserMapper">

    <select id="findAll" resultType="User">
        select *
        from user
    </select>

    <!--  parameterType 自动处理 不写也行  -->
    <insert id="insertUser" parameterType="User">
        insert into user
        values (#{id}, #{username}, #{birthday}, #{sex}, #{address})
    </insert>

</mapper>
  1. 外部配置文件
xml 复制代码
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/study
jdbc.username = root
jdbc.password = 123456
  1. 接口
java 复制代码
package com.hebut.dao;

import com.hebut.pojo.User;

import java.util.List;

public interface UserMapper {

    public List<User> findAll();

    public int insertUser(User user);

}
  1. pom依赖
pom.xml 复制代码
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.hebut</groupId>
    <artifactId>mybatis</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.32</version>
        </dependency>

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

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.11</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>RELEASE</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

mybatis-config.xml 核心配置文件模板

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!--根元素-->
<configuration>
    <!-- 加载外部配置文件     resources目录下的 properties 文件 -->
    <!--  <properties resource="jdbc.properties"/>  -->
    <properties resource=""/>

    <!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式  user_name  -> userName 或 username -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!-- 配置别名 把长名字 变成 短名字 -->
    <typeAliases>
        <!-- 扫描指定包  把包下所有的类都起别名  格式: 全部小写 或者 和类名一致  后面的返回类型直接写 实体类名就行-->
        <!--   <package name="com.hebut.pojo"/>   -->
        <package name=""/>
    </typeAliases>

    <!-- 配置数据源 -->
    <environments default="development">

        <!-- 配置开发环境 -->
        <environment id="development">
            <transactionManager type="JDBC"/>
            <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>

        <!-- 配置测试环境 -->
        <environment id="test">
            <transactionManager type="JDBC"/>
            <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>

    <!-- 配置映射文件 -->
    <mappers>
        <!-- 扫描指定包  把包下所有的映射文件都加载进来  注解方式必须用这个 -->
        <!-- <package name="com.hebut.dao"/> -->
        <package name=""/>

        <!-- 加载指定映射文件  XML映射文件用  也可以用上面的 -->
        <!-- <mapper resource="com.hebut.dao/XXXMapper.xml"/> -->
    </mappers>
</configuration>

mybatis 映射 mapper可以 package不可以解决

在resources下新建目录时,要用 com/hebut/dao 不能用 com.hebut.dao

相关推荐
Jabes.yang20 分钟前
Java电商订单系统面试全流程解析:接口设计、数据库、微服务与分布式事务实战
java·微服务·mybatis·分布式事务·电商·订单系统·接口设计
摇滚侠34 分钟前
IDEA 创建 Java 项目 推送到远程 Git 仓库
java·git·intellij-idea
cheems95271 小时前
[开发日记]Spring Boot + MyBatis-Plus 抽奖系统开发复盘:从奖品创建、活动校验到前端圈选人员失效的一次完整排障
前端·spring boot·mybatis
摇滚侠2 小时前
git ignore 忽略 .idea 目录 全新项目(尚未提交过 .idea).idea 已经被 Git 跟踪(已提交过)
java·git·intellij-idea
就叫_这个吧18 小时前
Java+MySQL+Mybatis+Junit4实现学生信息管理系统
java·mysql·mybatis
闪电悠米19 小时前
黑马点评-秒杀优化-01_async_seckill_idea
java·数据库·ide·redis·分布式·缓存·intellij-idea
摇滚侠19 小时前
IDEA 创建 Java 项目 lib 和 resources
java·ide·intellij-idea
噢,我明白了1 天前
MyBatis-Plus 中IPage的分页查询
java·mybatis
我登哥MVP1 天前
Spring Boot 从“会用”到“精通”:请求映射原理
java·spring boot·后端·spring·servlet·maven·intellij-idea
basketball6161 天前
Redis基础:3. Redis 持久化(重要)
redis·bootstrap·mybatis