首页 > 其他分享 >Mybatis

Mybatis

时间:2023-05-02 21:45:31浏览次数:34  
标签:SqlSessionFactory UserMapper SqlSession sqlSession SQL Mybatis

# Mybatis
0. 概述
	1). 框架: 框架中一般都是所有程序员都需要开发的重复代码,框架把这些提供好之后,程序员就可以把精力专注在核心业务上。
	2). Mybatis: MyBatis是一款优秀的持久层框架,使用Mybatis可以轻松的实现Java程序向数据库发送SQL语句,而且对于SQL查询回来的结果进行方便的封装。
	3). Java与MySQL之间的映射关系
		类   --- 数据表
		属性 --- 字段
		对象 --- 记录
1. API
	1). Resources:将配置文件读取成一个输入流
		InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
	2). SqlSessionFactoryBuilder:用于创建SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
	3). SqlSessionFactory:用于获取SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
	4). SqlSession:用于获取发送sql的代理对象,注意sqlSession要求用完立即销毁
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
2. #和$
	1). #表示占位符,使用它可以防止SQL注入问题,同类型的SQL只编译一次
	2). $表示字符串拼接,使用它存在SQL注入问题,每次SQL都会重新编译
3. Mybatis工具类
	1). 读取配置文件,读成一个输入流
		InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
	2). 创建SqlSessionFactory对象
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
	3). 获取SqlSession对象
		SqlSession sqlSession = sqlSessionFactory.openSession();
	4). 获取UserMapper对象,调用方法
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    	userMapper.delete(1);
    5). 提交事务
    	sqlSession.commit();
    6). 释放资源
    	sqlSession.close();
4. Mybatis使用两步骤  com.itheima
	1). src/main
		1. /java  domain中 User 正式Java源代码(实体类)
		2. /java  mapper中 UserMapper接口(MySQL语句)
		3. /resources  SqlMapConfig.xml(声明要连接的数据信息)
	2). src/test
		/java  test中  UserMapperTest
			1. 准备一个User对象  创建用户对象
			2. 实现Mybatis工具类

标签:SqlSessionFactory,UserMapper,SqlSession,sqlSession,SQL,Mybatis
From: https://www.cnblogs.com/Rover20230226/p/17368315.html

相关文章

  • MyBatis-第三方缓存
    第三方缓存整合ehcache.xml<?xmlversion="1.0"encoding="UTF-8"?><ehcachexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="../config/ehcache.xsd"><!--磁盘保存路径-->......
  • springboot mybatis-plus 3.5.1代码生成器配置
    springbootmybatis-plus3.5.1代码生成器配置https://blog.csdn.net/Lean_on_Me/article/details/128066822  ......
  • Mybatis
    Mybatis记录1.创建Maven工程用idea创建maven工程2.引入Mybatis依赖<!--mybatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version>......
  • MybatisPlus高级特性之SimpleQuery工具类
    1、是很么?SimpleQuery可以对selectList查询后的结果使用Stream流进行操作,使其可以返回指定的结果,简洁了api的调用2、怎么玩?案例演示(1)list操作/***list(LambdaQueryWrapper<E>wrapper,SFunction<E,A>sFunction,Consumer<E>...peeks)*参数说明:*p......
  • MybatisPlus高级特性之ActiveRecord模式
    1、是什么?ActiveRecord是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表;而模型类的一个实例对应表中的一行记录。ActiveRecord一直广受解释型动态语言(PHP、Ruby等)的喜爱,通过围绕一个数据对象进行CRUD操作。而Java作为准静态(编译型)语言,对于ActiveRec......
  • Mybatis SQL映射文件
    https://blog.csdn.net/sun_soul/article/details/111773947SQL映射文件增删改标签<insertid="insertEmployee">INSERTINTOt_employee(empname,gender,email)VALUES(#{empName},#{gender},#{email})获取自增主键的值让MyBatis自动的将自增的id赋值给传入的employee对象......
  • mybatis Generator生成代码及使用方式
    为什么要有mybatismybatis是一个Java的ORM框架,ORM的出现就是为了简化开发。最初的开发方式是业务逻辑和数据库查询逻辑是分开的,或者在程序中编写sql语句,或者调用sql存储过程。这样导致思维需要在语言逻辑和sql逻辑之间切换,导致开发效率低下。所以出现了一系列的ORM框......
  • Mybatis总体框架设计
    Mybatis架构概览Mybatis架构整体设计如下:接口层和数据库交互的方式Mybatis和数据库的交互方式有两种使用传统的MyBatis提供的API;使用Mapper接口使用传统的MyBatis提供的API这是传统的传递StatementId和查询参数给SqlSession对象,使用SqlSession对象完成和数据库的交......
  • mybatis定义sql语句标签之select 标签
    属性介绍:id:唯一的标识符.和Mapper接口定义方法名同名。parameterType:传给此语句的参数的全路径名或别名例:com.test.poso.User或user,目前很少用到。resultType:语句返回值类型或别名。注意,如果是集合,那么这里填写的是集合的泛型,而不是集合本身(resultType与resultMap不......
  • mybatis定义sql语句标签之insert标签
    这是非常核心的一个标签,CURD是mybatis的核心功能。insert元素相对于select元素要简单很多,mybatis会在插入之后返回一个整数,表示插入成功后插入的条数。真实项目中,使用最多的一个点要注意,在插入过程中返回一些自动主键。因为这个主键,在同一个事务中,还有其它用。例如级联。属性......