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

相关推荐
StandByMe.(备考期末版,暂不)8 小时前
IDEA 2024.3.5 中修改 web.xml 的 Servlet 版本(比如从 4.0 修改为 5.0)
intellij-idea
悠夏安末9 小时前
intellij Idea 和 dataGrip下载和安装教程
java·ide·intellij-idea
柚几哥哥11 小时前
IntelliJ IDEA全栈Git指南:从零构建到高效协作开发
java·git·intellij-idea
KATA~13 小时前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
伊成16 小时前
Springboot整合Mybatis+Maven+Thymeleaf学生成绩管理系统
java·maven·mybatis·springboot·学生成绩管理系统
我要学编程(ಥ_ಥ)17 小时前
初始JavaEE篇 —— Mybatis-plus 操作数据库
java·java-ee·mybatis·mybatis-plus
〆、风神18 小时前
装饰器模式与模板方法模式实现MyBatis-Plus QueryWrapper 扩展
mybatis·装饰器模式·模板方法模式
Micro麦可乐1 天前
最新Spring Security实战教程(七)方法级安全控制@PreAuthorize注解的灵活运用
java·spring boot·后端·spring·intellij-idea·spring security
hweiyu001 天前
idea如何让打开的文件名tab多行显示
java·ide·intellij-idea·idea·intellij idea
依旧很淡定1 天前
09-SpringBoot3入门-整合Mybatis
mybatis