MyBatis概述及入门案例

MyBatis概述

#1.MyBatis概述 MyBatis是最近几年非常流行的数据访问层(DAO)框架,能够简单高效的实现对数据层访问。

#2.常见的数据层访问方式比较 a.JDBC java原生的关系型数据库访问方式 1)每次操作数据库都需要获取连接关闭连接,在大量访问数据库时,频繁的开关连接消耗性能。 2)需要手动编写sql,有学习成本 3)需要手动赋值sql参数/查询出的结果需要手动进行封装到bean 4)sql语句写死在程序中,需要修改sql必须修改源文件 b.Hibernate 基于面向对象理念设计的DAO层框架,基本理念就是维护对象到表的映射关系,通过操作对象操作表中的数据,从而可以减少甚至杜绝sql的使用 1)相对比较沉重,效率不好 2)当涉及到比较复杂的查询时Hibernate的操作对象的方式用起来非常麻烦,甚至无法实现,只能用sql操作 3)底层需要频繁的拼接sql,产生大量冗余的sql c.MyBatis 是一种半自动对象-表映射关系的DAO层框架,可以自动的进行对象的封装,但是sql仍然需要自己来写。 结合了JDBC和Hibernate的优点,可以手写sql灵活实现数据访问,自动封装数据,减少繁杂代码。 #2…MyBatis的入门案例 a.创建java项目,并在其中导入相关开发包 b.创建表,创建bean i.创建表 create database mydb; use mydb; create table user ( id int primary key auto_increment, name varchar(255), age int ); insert into user values (null,‘aaa’,19),(null,‘bbb’,29),(null,‘ccc’,39),(null,‘ddd’,22),(null,‘eee’,33); ii.创建bean c.Eclipse导入约束文件idea不需要 d.编写配置文件sqlMapConfig.xml,配置数据源

e.编写映射文件,编写sql f.将映射文件配置到sqlMapConfig.xml中 g.测试类测试 public class Test01 { @Test public void test01() throws IOException { //1.创建SqlSessionFactory InputStream in = Resources.getResourceAsStream(“sqlMapConfig.xml”); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); //2.创建SqlSession SqlSession session = factory.openSession(); //3.调用sql List list = session.selectList(“cn.tedu.mapper.UserMapper.selcAll”); System.out.println(list); //4.关闭session session.close(); } }

经验分享 程序员 微信小程序 职场和发展