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

相关推荐
C++忠实粉丝15 小时前
Redis Hash哈希
redis·mybatis·哈希算法
what_201818 小时前
idea无法安装插件
java·ide·intellij-idea
what_201818 小时前
卸载干净 IDEA(图文讲解)
java·ide·intellij-idea
JavaTestZhangy18 小时前
IDEA试用总结
java·ide·intellij-idea
先睡21 小时前
MyBatis框架
mybatis
小_太_阳21 小时前
Scala_【3】运算符
开发语言·scala·intellij-idea
tazj1 天前
IDEA中Lombok不能使用,找不到get方法
java·ide·intellij-idea
123yhy传奇1 天前
【学习总结|DAY027】JAVA操作数据库
java·数据库·spring boot·学习·mybatis
lishiming03081 天前
TestEngine with ID ‘junit-jupiter‘ failed to discover tests 解决方法
java·junit·intellij-idea
Lzehui1 天前
Mybatis的set标签,动态SQL
java·sql·mybatis