Mybatis基础

对原生态jdbc程序中问题的总结:

(1)数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。

设想:使用数据库连接池管理数据库连接。

(2)将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。

设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。

(3)向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。

设想:将sql语句及占位符号和参数全部配置在xml中。

(4)从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。

设想:将查询的结果集,自动映射成java对象。

1.什么是mybatis?

mybatis是一个持久层框架,是apache下的顶级项目。

mybatis托管到goolecode下,再后来托管到github。

mybatis主要让程序主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。

mybatis可以将向prepardStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象(输出映射)。

2.mybatis框架

(1)SqlMapConfig.xml(是mybatis的全局配置文件,名称不固定的)

配置了数据源、事务等mybatis运行环境

配置映射文件(配置sql语句)

mapper.xml(映射文件)、mapper.xmlmapper.xml.....

(2)SqlSessionFactory(会话工厂),根据配置文件创建工厂

作用:创建SqlSession

(3)SqlSession(会话),是一个接口,面向用户(程序员)的接口

作用:操作数据库(发出sql增、删、改、查)

(4)Executor(执行器),是一个接口(基本执行器、缓存执行器)

作用:SqlSession内部通过执行器操作数据库

(5)mapped statement(底层封装对象)

作用:对操作数据库存储封装,包括 sql语句,输入参数、输出结果类型

(6)输入参数类型      

java简单类型

hashmap 

pojo自定义

(7)输出结果类型

java简单类型

hashmap 

pojo自定义

执行顺序:(1)SqlMapConfig.xml--->(2)SqlSessionFactory--->(3)SqlSession--->(4)Executor--->(5)mapped statement--->mysql

输入参数--->mapped statement---->输出参数








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值