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

相关推荐
qq_三哥啊2 小时前
【IDEA】设置Debug调试时调试器不进入特定类(Spring框架、Mybatis框架)
spring·intellij-idea·mybatis
柯南二号4 小时前
【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
java·spring boot·mybatis
记忆不曾留12 小时前
Mybatis 源码解读-SqlSession 会话源码和Executor SQL操作执行器源码
mybatis·二级缓存·sqlsession会话·executor执行器·一级缓存localcache
一叶飘零_sweeeet21 小时前
IDEA 插件 Trae AI 全攻略
java·人工智能·intellij-idea
昵称为空C2 天前
SpringBoot 实现DataSource接口实现多租户数据源切换方案
后端·mybatis
isyangli_blog2 天前
(2-10-1)MyBatis的基础与基本使用
java·开发语言·mybatis
_码农121382 天前
Mybatis简单练习注解sql和配置文件sql+注解形式加载+配置文件加载
mybatis
期待のcode2 天前
Maven
java·spring·maven·mybatis
独泪了无痕2 天前
一文搞懂MyBatis中的TypeHandler
数据库·后端·mybatis
Easocen3 天前
Mybatis学习笔记(十)
mybatis