mybatis注册登录,mybatis获取id

  mybatis注册登录,mybatis获取id

  

目录

一、搭建环境1.1 POM。XML 1.2博客映射器。Java 1.3博客映射器。XML 1.4 MyBatisDemo.java二、添加映射程序详细分析2.1注册表2.1代理工厂三、getMapper详细分析3.1映射代理3.2映射方法

 

  

一、搭建环境

 

  

1.1 pom.xml

依赖关系groupId MySQL/groupId artifact id MySQL-connector-Java/artifact id/依赖关系groupIdcom.baomidou/groupId artifact id my batis-plus-boot-starter/artifact id/dependency

 

  

1.2 BlogMapper.java

公共接口博客映射器{列出博客选择博客(字符串id);}

 

  

1.3 BlogMapper.xml

?可扩展标记语言版本=1.0 编码=UTF八号?DOCTYPE Mapper PUBLIC -//mybatis。org//DTD Mapper 3.0//EN http://my batis。org/DTD/mybatis-3-Mapper。“DTD”映射器命名空间=“mybatis。来源。学习。博客映射器 select id= select blog 结果类型= mybatis。来源。学习。blog select * from t _ blog where id=# { id }/select/Mapper blog Mapper。可扩展置标语言放在资源目录下与BlogMapper.java包路径相同的路径下

 

  

1.4 MyBatisDemo.java

公共类MyBatisDemo { public static void main(String[]args){//创建数据源数据源data source=get data source();事务工厂transaction factory=new JdbcTransactionFactory();//创建结构化查询语言运行环境环境环境=新环境(开发,transactionFactory,数据源);//创建框架的所有配置配置配置=新配置(环境);//注册映射器配置。添加映射器(博客映射器。类);//configuration.addInterceptor(新分页拦截器());//根据配置创建结构化查询语言会话工厂SqlSessionFactory SqlSessionFactory=new SqlSessionFactory builder().构建(配置);SQL会话SQL会话=sqlsessionfactory。打开会话();博客映射器映射器=SQL会话。获取映射器(博客映射器。类);系统。出去。println(映射器。选择博客( 001 );}私有静态数据源get数据源(){德鲁伊数据源德鲁伊数据源=新德鲁伊数据源();德鲁伊数据源。seturl( JDBC :我的SQL ://localhost :3306/demo?字符编码=utf-8服务器时区=亚洲/上海);德鲁伊数据源。设置用户名(“root”);德鲁伊数据源。设置密码(“root”);返回druidDataSource}

 

  

二、addMapper详细分析

 

  

2.1 MapperRegistry

 

  这块就是判断这个mapper.xml解析过没有,解析是在解析器。parse();中做的,来看

  loadxml resource();根据可扩展标记语言解析每个制图人接口的方法,将得到的制图人语句放进了配置,然后记录该可扩展标记语言的命名空间表示已经处理过。具体调用链:

  load XML resource()XML解析器。parse()配置元素(解析器。eval节点(/mapper )buildStatementFromContext(context。eval nodes(" select insert update delete ")buildStatementFromContext(list,null)statementparser。parsetatementnode()构建器助手。添加映射语句配置。addmapped语句(语句);

  语法分析语句(方法);根据注解解析每个制图人接口的方法,因此可扩展标记语言和注解可以同时使用。但是同一个方法两者同时使用会报错

  

2.2 MapperProxyFactory

 

  放入知识地图的是MapperProxyFactory,它是一个制图人代理的工厂,这个工厂提供新实例方法,产生一个代理类(也就是BlogMapper接口的代理实现类),调用BlogMapper所有的方法将在地图代理的引起方法中执行

  

三、getMapper详细分析

获取映射器会调用地图登记的getMapper从知识地图中获取代理工厂,再调用新实例方法产生一个代理类MapperProxy。

 

  

3.1 MapperProxy

在执行mapper.selectBlog("001 ")时,就会调用地图代理的引起方法

 

  根据方法(选择博客)生成对应的MapperMethod,并将映射方法放入本地缓存mappermethod。execute(SQL会话,args);执行真正的结构化查询语言逻辑。

  

3.2 MapperMethod

 

  MapperMethod的构造方法,根据接口信息、方法信息和配置信息,得到SqlCommand(sql名称、类型)和method(方法签名),便于后续的命令执行和结果集处理。

  这就是这篇关于MyBatis注册和Mapper获取的文章。关于MyBatis注册和Mapper获取的更多信息,请搜索Popular IT以前的文章或继续浏览下面的相关文章。我希望你将来能支持流行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: