栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Mybatis笔记

Java 更新时间:发布时间: 百科书网 趣学号
Mybatis 是什么?
  • 持久层的框架
如何使用
  1. 在maven上导入相关jar包

   org.mybatis
   mybatis
   3.5.2


   mysql
   mysql-connector-java
   5.1.47


    junit
    junit
    4.13.1
    test

  1. 编写相关xml的核心配置文件(mybatis-config.xml)



   
       
           
           
               
               
               
               
           
       
   
  

  1. 编写mybatis工具类
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.IOException;
import java.io.InputStream;

public class MybatisUtils {

   private static SqlSessionFactory sqlSessionFactory;

   static {
       try {
           String resource = "mybatis-config.xml";
           InputStream inputStream = Resources.getResourceAsStream(resource);
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      } catch (IOException e) {
           e.printStackTrace();
      }
  }

   //获取SqlSession连接
   public static SqlSession getSession(){
       return sqlSessionFactory.openSession();
  }
}
  1. 在核心配置的mybatis-config.xml文件中注册DAO层的接口
 
       
   
  1. 编写实体类
  2. 编写DAO层的类的Mapper接口
public interface UserMapper {
   List selectUser();
}
  1. 编写Mapper接口的配置文件



 

  1. 测试
public class MyTest {
   @Test
   public void selectUser() {
       SqlSession session = MybatisUtils.getSession();
       //方法一:
       //List users = session.selectList("com.kuang.mapper.UserMapper.selectUser");
       //方法二:
       UserMapper mapper = session.getMapper(UserMapper.class);
       List users = mapper.selectUser();

       for (User user: users){
           System.out.println(user);
      }
       session.close();
  }
}	
可能遇到的问题
  • Maven的静态资源过滤导致Mapper的xml文件无法生成为target文件

解决办法 :在pom.xml文件添加以下代码


   
       src/main/java
       
           ***.xml
       
       false
   
   
       src/main/resources
       
           ***.xml
       
       false
   

基础的CRUD操作(多练) select操作

使用select标签,其中注意点就是关于参数的传递

参数的传递问题 方式一:通过注解进行传递
//通过密码和名字查询用户
User selectUserByNP(@Param("username") String username,@Param("pwd") String pwd);


方式二:通过map进行参数的传递

insert ,update,delete操作

注意事项:

  • 所有的增删改操作都需要提交事务!
  • 在标签中最好注明参数类型和返回值类型
配置文件 相关配置标签
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

  1. environment元素

 
   
     
   
   
     
     
     
     
   
 

其中有两个重要的子节点元素

1.transactionManager(事务管理器)

2.dataSourse(数据库源)

作用:配置连接对象

  1. mapper元素

是什么? 就是映射器,映射接口文件

重点!!! 需要掌握四种引入方式

配置优化

1.使用properties元素导入相关连接信息


   
   

   
       
           
           
               
               
               
               
           
       
   
   
       
   

2.使用别名来代替包的全路径

作用域和生命周期

主要理解三个的各自存在的周期

结果集映射ResultType

理解:顾名思义,就是将查询到的结果做一个新的映射,而不是使用原本的默认映射(HashMap)

目的是什么:能够解决从数据库查询到的数据列名和pojo的属性名不同的情况

分页功能 日志功能 动态SQl 缓存(了解)
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273629.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号