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

相关推荐
乐观勇敢坚强的老彭1 小时前
GESP一级核心算法:循环与条件判断的结合
java·数据结构·算法
雪宫街道1 小时前
SpringBoot 向 IOC 容器注册组件的两种姿势:@Configuration 与 @Import
java·spring boot·后端·spring
北城以北88881 小时前
虚拟机安装JDK,Tomcat,部署项目
java·开发语言·tomcat
终将老去的穷苦程序员2 小时前
基于Android Studio开发的安卓图书借阅管理系统
java·sqlite·android studio·android-studio
swordbob2 小时前
MySQL和Oracle关于读未提交的区别
数据库·mysql·oracle
接着奏乐接着舞2 小时前
springboot mp mybatis plaus
windows·spring boot·mybatis
林九生2 小时前
【实用技巧】MySQL 绿色版一键路径更新脚本详解 —— update_path.bat 深度解析
android·数据库·mysql
野生技术架构师2 小时前
从 B+ 树到应用层分表:MySQL 海量数据架构解析
数据库·mysql·架构
Amnesia0_02 小时前
MySQL的事务
数据库·mysql