Mybatis的框架以及相关的整合

Mybatis

mybatis框架的快速入门

1.添加依赖
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<dependency>
 <groupId>org.mybatis</groupId>
 <artifactId>mybatis</artifactId>
 <version>3.4.5</version>
 </dependency>
 <dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.17</version>
 <scope>runtime</scope>
 </dependency>

2.编写实体类
3.编写持久层接口
4.编写持久层接口的映射文件
(注意)
创建位置:必须和持久层接口在相同的包中。
名称:必须以持久层接口名称命名文件名,扩展名是.xml

<?xml version="1.0" encoding="UTF-8"?> select * from user

5.编写 SqlMapConfig.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?> **测试** 下面展示一些 `内联代码片`。
// A code block

// An highlighted block
//1.读取配置文件
public class MybatisTest {
public static void main(String[] args)throws Exception {
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建 SqlSessionFactory 的构建者对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//3.使用构建者创建工厂对象 SqlSessionFactory
SqlSessionFactory factory = builder.build(in);
//4.使用 SqlSessionFactory 生产 SqlSession 对象
SqlSession session = factory.openSession();
//5.使用 SqlSession 创建 dao 接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
//6.使用代理对象执行查询所有方法
List<User> users = userDao.findAll();
for(User user : users) {
System.out.println(user);
}
//7.释放资源
session.close();
in.close();
}
}

基于注解的Mybatis开发

(在持久层接口中添加注解)
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
public interface IUserDao {
/**
* 查询所有用户
* @return
*/
@Select("select * from user")
List<User> findAll();
}

(修改 SqlMapConfig.xml)
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<!-- 告知 mybatis 映射配置的位置 --> <mappers> <mapper class="com.itheima.dao.IUserDao"/>
</mappers>

Spring整合Mybatis

1.导入依赖
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<dependency> 
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId> 
<version>3.4.5</version>
</dependency> 
<dependency> 
<groupId>org.mybatis</groupId> 
<artifactId>mybatis-spring</artifactId> 
<version>1.3.0</version>
</dependency>
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.17</version>
 </dependency>

2.编写实体类
3.编写持久层接口(加注解@Component)
4.编写持久层接口的映射文件
5.Spring 接管 MyBatis 的 Session 工厂
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<?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>
</configuration>
<!-- 加载配置文件 --> 
<context:property-placeholder location="classpath:jdbcConfig.properties" />
<!-- 配置 MyBatis 的 Session 工厂 --> 
<bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据库连接池 --> 
<property name="dataSource" ref="dataSource" />
<!-- 加载 mybatis 的全局配置文件 --> 
<property name="configLocation" value="classpath:SqlMapConfig.xml" />
</bean>
<!-- 配置数据源 --> 
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> 
<property name="user" value="${jdbc.username}"></property> 
<property name="password" value="${jdbc.password}"></property>
</bean>
<!-- 配置 Mapper 扫描器 --> 
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
<property name="basePackage" value="com.itheima.dao"/>
</bean>

Springboot整合Mybatis

1.导入依赖
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<!--mybatis起步依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- MySQL连接驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.17</version>
</dependency>

2.配置application.properties

添加数据库连接信息
#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

3.创建实体类
4.编写Mapper
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
@Mapper
public interface UserMapper {
	public List<User> queryUserList();
}

5.配置Mapper映射的配置文件
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.itheima.mapper.UserMapper">
    <select id="queryUserList" resultType="user">
        select * from user
    </select>
</mapper>

6.在application.properties中添加mybatis的信息
下面展示一些 内联代码片

// A code block
var foo = 'bar';
// An highlighted block
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.itheima.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

7.测试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值