MyBatis简介
1.Mybatis开源免费框架,原名叫做iBatis,2010在goole code,2013年迁移到github
2.作用:数据访问层框架
2.1底层是对JDBC的封装.
3.mybatis优点:
3.1使用mybatis时不需要编写实现类,只需要写需要执行的sql命令
MyBatis环境搭建
1.导入jar
2.在src下新建mybatis全局配置文件(编写JDBC四要素)
2.1没有名称和地址要求
2.2在全局配置文件中引入DTD或schema
2.2.1如果导入dtd后没有提示
Window-->preference-->XML-->XML catalog -->add
2.3全局配置文件内容
3.新建以mapper结尾的包,在包下新建:实体类名+Mapper.xml
3.1文件作用:编写需要执行的SQL命令
3.2把xml文件理解成实现类
3.3xml文件内容
4.测试结果(只有在单独使用mybatis是使用)
mybatis环境搭建详解
1.全局配置文件中的内容
1.1<transactionManager/> type属性可取值
1.1.1 JDBC,事务管理使用JDBC原生事务管理方式
1.1.2 MANAGED 把事务管理转交给其他容器,原生JDBC事务
setAutoMapping(false)
1.2<DataSource/>type属性
1.2.1 POOLED使用数据库连接池
1.2.2 UNPOOLED 不使用数据库连接池,和直接使用JDBC一样
1.2.3 JNDI : java命名目录接口技术
数据库连接池
1.在内存中开辟一块空间,存放多个数据库连接对象
2.JDBC Tomcat Pool,直接由Tomcat产生数据库连接池
3.数据库连接对象状态
3.1 active 状态 : 当前连接对象被应用程序使用中
3.2 idle 状态 : 登台应用程序使用
4.使用数据库连接池的目的
4.1 在高频率访问数据库时,使用数据库连接池可以降低服务器系统压力,提升程序运行效率
4.1.1小型小牧一般不适用数据库连接池
5.实现JDBC Tomcat Pool 的步骤
5.1 在web项目的META-INF 中存放 context.xml,在context.xml编写数据库连接池相关属性
5.2把项目发布到tomcat中,数据库连接池就产生了
6.在java中使用jndi获取数据库连接池中的对象
6.1Context : 上下文接口 context.xml 文件对象类型
6.2代码:
6.3 当关闭连接对象时,把连接对象归还给数据库连接池,把状态改变为idle
三种查询方式
1.selectList 返回值为List<resultType 属性控制>
1.1适用于查询结果都需要遍历的需求
2.selectOne() 返回值Object
2.1 适用于返回结果只是变量或一行数据时
3.selectMap() 返回值 Map
3.1 适用于需要在查询结果中通过某列的值获取到这行数据的需求
3.2Map<key,resultType控制>