Mybatis复习笔记

什么是mybatis?mybatis的作用?

Mybatis是半自动化持久型框架,可以支持定制sql,存储过程,高级映射。
在JDBC基础上进行改进,因为JDBC中sql语句与java代码融合在一起,耦合度高,不易于修改优化,于是Mybatis就将所有sql语句使用xml配置文件的方式进行解耦,这样将java代码与sql分开,结构清晰便于优化。
mybatis提供简单的crud,可以手动设置参数获取结果集,并且可以自动将java中的属性与数据库的字段形成映射。

如何搭建Mybatis框架?

  1. 使用maven导入mybatis依赖
  2. 使用mysql创建数据库,生成表并插入数据
  3. 根据数据库中的表在idea中创建对应的JavaBean
  4. 使用接口式编程,创建mapper接口,在接口中创建crud抽象方法,并设置封装结果集的返回值
  5. 在idea中resoures资源文件夹下创建mybatis-config.xml全局配置文件,用于配置settings,properties,数据库连接信息
  6. 在resoures资源文件夹下创建mapper.xml映射文件,这里使用命名空间规则,namespace对应接口全类名,crud标签的id 对应接口中的方法名,resultType对应返回值类型若返回值为javaBean类型直接写全类名,具体sql查询语句写在crud标签体里。
  7. 编写测试类,获取配置类信息,生成SqlSessionFactoryBeanBuilder,构建出SqlSessionFactory实例,在创建出SqlSession对象直接调用接口中写好的crud方法
public class HelloWorldTest {

	public SqlSessionFactory getSqlSessionFactory() throws IOException {
		String resource = "c01/mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);
	}

	/**
	 * 1、根据xml配置文件(全局配置文件)创建一个SqlSessionFactory对象 有数据源一些运行环境信息
	 * 2、sql映射文件;配置了每一个sql,以及sql的封装规则等。 
	 * 3、将sql映射文件注册在全局配置文件中
	 * 4、写代码:
	 * 		1)、根据全局配置文件得到SqlSessionFactory;
	 * 		2)、使用sqlSession工厂,获取到sqlSession对象使用他来执行增删改查
	 * 			一个sqlSession就是代表和数据库的一次会话,用完关闭
	 * 		3)、使用sql的唯一标志来告诉MyBatis执行哪个sql。sql都是保存在sql映射文件中的。
	 * 
	 * @throws IOException
	 */
	@Test
	public void test() throws IOException {

		// 2、获取sqlSession实例,能直接执行已经映射的sql语句
		// sql的唯一标识:statement Unique identifier matching the statement to use.
		// 执行sql要用的参数:parameter A parameter object to pass to the statement.
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();

		SqlSession openSession = sqlSessionFactory.openSession();
		try {
			Employee employee = openSession.selectOne(
					"abc.getEmpById", 1);
			System.out.println(employee);
		} finally {
			openSession.close();
		}

	}

}


SpringBoot如何整合Mybatis?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值