mybatis框架的简介和劣势
MyBatis 本是apache的一个开源我的项目iBatis,2010年这个我的项目由apache software foundation 迁徙到了google code,并且改名为MyBatis 。2013年11月迁徙到Github。 Mybatis是一个优良的长久层框架,他对jdbc操作数据库的过程进行了封装,使咱们只须要关注Sql语句自身,不须要破费精力去解决例如注册驱动、创立connection(连贯)、创立statement(申明)、手动设置参数、后果集检索等繁琐的过程代码。mybatis通过xml或注解的形式将要执行的各种statement配置起来,并通过java对象和statement中的sql进行映射生成最终sql语句,最初由mybatis框架执行sql并将后果映射成java对象并返回。
MyBatis架构图
(1)mybatis-config.xml是MyBatis框架的外围配置文件,通过其中的配置能够生成SqlSessionFactory,也就是工厂。
(2)基于SqlSessionFactory能够生成SqlSession对象
(3)SqlSession是一个既能够发送SQL去执行,并返回后果的对象
(4)Executor是SqlSession底层的对象,用于执行SQL语句
(5)MapperStatement对象也是SqlSession底层的对象,用于接管输出映射(SQL语句中的参数),以及做输入映射(行将SQL查问的后果映射成相应的后果)
配置及应用MyBatis框架
1.创立maven工程,并在pom.xml中导入所需jar包(mybatis、mysql启动等)[(https://mybatis.org/mybatis-3)MyBatis官网地址,留神版本]
2.配置MyBatis全局配置文件mybatis-config.xml(在resource源码文件夹下)
(1)头信息(验证xml文件的正确性)(2)配置数据库环境,是否应用连接池,Driver类全类名,须要连贯的库,账户明码等 能够把数据库的连贯信息独自拿进去,不便前期保护(更改明码等) 在源码文件夹中创立.properties的File文件,写入Driver,url,username,password等信息,在主配置文件mybatis-config.xml文件中导入文件,将主配置文件的Driver信息写成${}模式的占位符,名称和.properties文件的信息对应(3)配置映射文件(mapper)
3.配置映射文件mapper
(1)增加头信息,束缚标准(2)在<mapper>标签下增加属性namespace(命名空间)(3)在<mapper>标签外部书写Sql语句,例如<select id="id惟一" resultype="后果类型">select * from 表名 (能够应用占位符${})</select>
4.在java文件夹中创立Emp类,用于封装查问后返回的对象,属性与数据库中各列的名字对应
5.尝试连贯
一.(创立测试类后筹备工作,能够用@Before注解,在所有办法之前加载)
(1)读取mybatis-config.xml文件InputStream in = Resource.getResourceAsStream("mybatis-config.xml")(2)基于读取信息创立一个SqlSessionFactory对象SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory = builder.build( in );(3)基于SqlSessionFactory对象获取一个SqlSession对象session = factory.openSession(true);//true设置主动提交事务
二.执行语句
应用SqlSession对象的update等办法,传入映射文件的namespace.语句id执行操作,如果语句中有占位符能够传入(namespace.id,map),
map用与封装多个占位符
返回后果影响行数或者查问后果,应用foreach遍历