Mybatis学习笔记:Mybatis

Mybatis学习笔记:Mybatis,第1张

Mybatis学习笔记:Mybatis 学习内容:Mybatis

文章目录
  • 学习内容:Mybatis
    • 1. 什么是Mybatis
    • 2. 怎么编写一个Mybatis程序
      • 2.1、搭建环境
      • 2.2、创建模块
      • 2.3 编写代码
      • 2.4 测试
    • 3. 可能遇到的问题

1. 什么是Mybatis
  • MyBatis 是一款优秀的持久层框架
  • 它支持定制化 SQL、存储过程以及高级映射。
  • MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
  • MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
2. 怎么编写一个Mybatis程序 2.1、搭建环境

搭建数据库:

创建一个maven项目,导入依赖:


	
        
            mysql
            mysql-connector-java
            5.1.47
        
	
        
            org.mybatis
            mybatis
            3.5.2
        
	
        
            junit
            junit
            4.12
        
      
		
            org.projectlombok
            lombok
            1.18.22
        
    
2.2、创建模块
  • resources文件夹下编写mybatis的核心配置文件 mybatis-config.xml





    
        
            
            
                
                
                
                
            
        
    
 
    
        
    

  • 编写mybatis工具类
//sqlSessionFactory --> sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            //使用mybatis获取sqlsessionfactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory  = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
//有了sqlsessionfactory 我们可以从中获取sqlsession的势力
//sqlsession 完全包含了面向数据库执行SQL命令所需的所有方法
    public static SqlSession getSqlSession() {
        // SqlSession sqlSession = sqlSessionFactory.openSession();
        // return sqlSession;
        return sqlSessionFactory.openSession();
    }
}
2.3 编写代码
  • 实体类
@Data//lombok注解
public class User {
    private int id;
    private String name;
    private String pwd;

    public User() {
    }
    public User(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }
}
  • 接口
public interface UserMapper {
    //查询全部用户
    List getUserList();
}
  • 接口实现类由原来的 UserMapperImpl转变为一个 Mapper配置文件 UserMapper.xml





	
    
        select * from mybatis.user
    

2.4 测试
  • 编写测试类:
//查询全部用户
public class UserDaoTest {
        @Test
        public void getUserList(){
        //第一步:获得SqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        //getMapper,通过sqlSession获得接口
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        List userList = userMapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }

        //关闭SqlSession
        sqlSession.close();
    }
  }
  • 编写配置文件 pom.xml

        
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                
                    ***.xml
                
                false
            
        
    
  • 输出结果:
  • 各文件创建的地方
3. 可能遇到的问题
  1. 配置文件没有注册

  2. 绑定接口错误。

  3. 方法名不对

  4. 返回类型不对

  5. Maven导出资源问题

  6. Error:java: 不再支持源选项 5。请使用 6 或更高版本。
    解决方法:在pom.xml加上jdk配置


        UTF-8
        UTF-8
        11
        11
        11

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5691223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存