MyBatis初步使用

本文介绍了MyBatis的基本使用,包括SqlSessionFactory的获取、Mapper接口与XML配置、动态SQL、级联操作、鉴别器及缓存机制。重点讲解了映射器的select元素,如传递参数、分页、级联和鉴别器的使用。
摘要由CSDN通过智能技术生成
目录
  1. 简介
    1. 特点
    2. 几个核心组件
    3. 获取SqlSessionFactory
    4. 一个示例.
    5. 配置Mapper的几种方式
    6. 其他数据库操作
    7. typeHandler类型转换器
  2. 映射器
    1. 传递参数
    2. 分页参数RowBounds(自带的)
    3. 级联(1对1, 1对多)
    4. 鉴别器 discriminator
    5. 2.5 MyBatis 缓存

1 简介

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

1.1 特点

  • 需要开发者自己书写SQL代码,可以对其进行优化和改造。
  • 提供了映射机制,方便开发者使用。
  • 提供动态SQL功能。
  • 只需要一个Mapper接口和一个XML文件就能创建映射器,进一步简化开发者工作。

1.2 几个核心组件

  • SqlSessionFactory 可以认为是一个数据库连接池
  • SqlSession 可以看作是一个数据库连接

1.3 获取SqlSessionFactory

配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/ssm" />
				<property name="username" value="root" />
				<property name="password" value="数据库连接密码" />
			</dataSource>
		</environment>
	</environments>

	<mappers>
		<!-- <package name="com" /> -->
		<mapper class="com.mapper.RoleMapper"/>
	</mappers>
</configuration>

获取SqlSessionFactory

public class DBUtil {
	private static SqlSessionFactory sqlSessionFactory;
	private static final String MYBATIS_CONFIG = "mybatis-config.xml";
	static {
		try {
			InputStream inputStream = Resources.getResourceAsStream(MYBATIS_CONFIG);
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		} catch (IOException e) {
			//e.pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值