重点: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之后,他就会自动帮我们完成这个操作

相关推荐
xbgRS2 小时前
springboot的自动装配
java·spring boot
嘻哈∠※9 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
白狐_79810 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander25811 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅11 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
一只fish12 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
极创信息13 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
汉字萌萌哒13 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
喜欢的名字被抢了13 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
数据知道14 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php