mybatis学习笔记

通过对Mybatis的几天的学习,了解到Mybatis的执行过程,而且对Mybatis的一些API有了一些新的认识,那边以图文方式进行展示

1.原始JDBC调用过程如下:

 public static void main(String[] args) {
      

Connection conn=DriverManager.getConnection("jdbc:mysql:///test","","");

//创建语句执行对象

java.sql.Statement st=conn.createStatement();//使用Statement对象

//执行语句

ResultSet rs=st.executeQuery("select * from User");

//处理结果

while(rs.next()){

System.out.print(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t");

}

//6.释放资源,资源rs、st、conn的释放顺序与创建顺序相反

rs.close();

st.close();

conn.close();

}

 上面的不足:

①存在硬编码  

②连接资料管理存在频繁的释放和建立

解决方式:将一些连接信息,参数对象,结果集对象进行配置化

2.看下mybatis针对以上问题的处理和架构

 

 

Mybatis主要架构分为三层:

①接口层:负责提供给调用方的接口,主要包含SqlSession

②数据处理层:包含了从配置文件解析,查找,sql执行到返回结果集映射等执行过程

③支撑层:包括事物管理,连接池,缓存机制,这些是共用的部分,提供给上层的一些支撑组件

 

下面来说下api的主要作用:

构件描述
SqlSession作为接口层的组件,提供外部调用
Executor负责SQL语句生成和查询缓存维护
StatementHandler封装了JDBC Statement操作,设置参数,将Statement结果集转为List
ParameterHandler对用户传入的参数进行解析为数据库参数
ResultSetHandler将JDBC的结果集封装到List类型集合中
TypeHandler负责Java类型和数据库类型之间的转换
MappedStatement把映射配置文件中的每个结点信息封装到这个实体中
SqlSource动态生成SQL语句,将信息封装到BoundSql中
BoundSql最终生成的SQL语句和相应的参数信息

3.Mybatis调用层次结构

 

① 首先解析配置文件,通过XMLConfigBuild解析主配置文件将结果封装在Configuration,通过XMLMapperBuild解析映射配置文件将结果封装为MappedStatement以Map的value存储在Configuration中;

②sqlSession中保存增删改查的接口给用户,它调用Executor接口

③Executor维护缓存功能生成sql语句放在BoundSql中,然后调用StatementHandler接口

④StatementHandler接口负责参数映射和结果集映射功能,并调用底层JDBC获取connection完成数据库操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值