重点:mybatis注意细节

首先注意资源过滤问题,放在dependes下面

java 复制代码
 <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

编写dao层的接口

编写mapper.xml文件(注意绑定接口) 注意namespace反正就是注意mapper

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

<mapper namespace="com.counter.dao.Usermapper">
    <insert id="addUser" parameterType="com.counter.pojo.User">
        insert into [user] values (#{id},#{name},#{age})
    </insert>
</mapper>

mapper写完之后注册到config下面的xml中

XML 复制代码
 <mappers>
        <mapper resource="com/counter/dao/Usermapper.xml"></mapper>
 </mappers>

就可以调用了前提是先写一个工具类(工具类用于制造工厂)

java 复制代码
//获得sqlsession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

//通过接口获得class对象,让Mybatis生成该接口的代理实现类

        Usermapper mapper = sqlSession.getMapper(Usermapper.class);

 //有代理实现类就可以调用方法就是在mapper中写的sql语句
        mapper.addUser(user);

        sqlSession.commit();
        sqlSession.close();

工具类:

java 复制代码
public class MybatisUtils {
    private  static  SqlSessionFactory sqlSessionFactory ;
    static {
        try {
            //使用Mybatis第一步:获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = MybatisUtils.class.getClassLoader().getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        }catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession();
    }
}

后面我们用Spring之后,他就会自动帮我们完成这个操作

相关推荐
真上帝的左手4 分钟前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛10 分钟前
MySQL表的连接
数据库·mysql
程序猿乐锅11 分钟前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
Java后端的Ai之路23 分钟前
【AIAgent开发】-Agent工具封装成CLI(纯干货!!!)
java·javascript·人工智能·agent·cli
AntsData1 小时前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设
code2cat1 小时前
【随笔】连续批处理:长短请求怎样在迭代之间补位
java·人工智能·后端·大语言模型·vllm
最强小杰1 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
bksczm1 小时前
MySQL之存储引擎
数据库·mysql
Flynn Liang1 小时前
Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解
java·人工智能·spring·大模型·架构设计·spring ai
灿飞1 小时前
Kotlin与Java虚拟机六:基础与类型系统:一切皆对象,但对象有代价
java·kotlin