程序笔记   发布时间:2022-06-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Mybatis学习笔记-2大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

2、 第一个Mybatis程序

思路:搭建环境->导入mybatis->编写代码->测试

2.1 搭建环境

  • 搭建数据库:
CREATE SCHEMA `mybatis` DEFAULT CHARACTER SET utf8;
CREATE TABLE `mybatis`.`user` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `pwd` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
DEFAULT CHARACTER SET = utf8;
INSERT INTO `mybatis`.`user` (`id`, `name`, `pwd`) VALUES ('1', '狂神', '123456');
INSERT INTO `mybatis`.`user` (`id`, `name`, `pwd`) VALUES ('2', '张三', '123456');
INSERT INTO `mybatis`.`user` (`id`, `name`, `pwd`) VALUES ('3', '李四', '123456');
  • 新建普通的Maven项目

  • 删除src

  • 加入Maven依赖(mybatis,juint,mysql)

2.2 搭建环境

参考官方文档[https://mybatis.org/mybatis-3/zh/index.html

  • 编写mybatis核心配置文件(xml)
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <!--核心配置文件-->
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=true"/>
                    <property name="username" value="root"/>
                    <property name="password" value="12345678"/>
                </dataSource>
            </environment>
        </environments>
    <!--    每一个mapper.xml都需要在该核心配置文件中注册-->
        <mappers>
            <mapper resource="com/bao/dao/UserMapper.xml"/>
        </mappers>
    </configuration>
    
  • 编写获取sqlsession的工具类
    package com.bao.utils;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.InputStream;
    
    public class MybatisUtils {
        public static SqlSessionFactory sqlSessionFactor;
        // 从 XML 中构建 SqlSessionFactory
        static {
            try {
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                sqlSessionFactor = new SqlSessionFactoryBuilder().build(inputStream);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        // 获取SqlSession
        //SqlSession中包含面向数据库执行SQL命令的所有方法
        public static SqlSession getSqlSession(){
            return sqlSessionFactor.openSession();
        }
    }
    

2.3 编写代码

  • 实体类

    Mybatis学习笔记-2

  • Dao接口

    package com.bao.dao;
    
    import com.bao.pojo.User;
    
    import java.util.List;
    
    public interface UserDao {
        List<User> getUserList();
    }
    
  • Dao接口实现类

    <?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">
    <!--使用namespace=绑定一个对应的接口-->
    <mapper namespace="com.bao.dao.UserDao">
        <select id="getUserList" resultType="com.bao.pojo.User">
        select * from mybatis.user
        </select>
    </mapper>
    
  • 测试

import java.util.List;

public class UserDaoTest {
    @Test
    public void test(){
        // 获取sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        // 执行 Sql语句
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}

Mybatis学习笔记-2

可能遇到的问题

  1. 配置文件没注册
  2. 绑定接口错误
  3. 方法名不对
  4. 返回类型不对
  5. Maven导出资源问题,可在pom中添加以下配置信息来结局
    <!--在build中配置resources,来防止我们资源导出失败的问题-->
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </build>
    

大佬总结

以上是大佬教程为你收集整理的Mybatis学习笔记-2全部内容,希望文章能够帮你解决Mybatis学习笔记-2所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: