mybatis框架的搭建过程和开发流程

本文介绍了Mybatis作为持久层ORM框架的主要优点,如简单易学、SQL语句集中管理,降低程序耦合度。详细阐述了如何搭建Mybatis框架,包括创建Java工程,引入必要的jar包如Mybatis、mysql驱动和Commons-logging。同时,文章描述了开发流程,包括配置SqlMapConfig.xml,创建实体类,定义mapper接口,编写SQL映射文件,并将映射文件注入核心配置。最后,通过编写测试类验证Mybatis配置的成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis框架:
是一个持久层(ORM)框架,用来代替JDBC完成和数据库交互功能的框架
优点:

  1. 基于SQL语法,简单易学
  2. SQL语句封装在配置文件(.xml)中,便于统一管理与维护,降低了程序的耦合度
    耦合度:在一个类中new另外一个类对象,就叫产生耦合度的过程
    A B C
    A:B b=new B(); b.fun() 耦合度
    B: C c=new C(); c.fun()
  3. 程序调试方便
    与数据库交互的所有过程均在控制台体现
    框架搭建:
  4. 创建一个普通的java工程
  5. 引入jar
    Mybatis-3.2.7 mybatis的核心jar
    mysql驱动jar
    Commons-logging log4j: 进行日志管理的jar
    在这里插入图片描述

搭建:创建一个普通的java工程,引jar包
开发流程:

  1. 引入mybatis的核心配置文件,在配置文件中配置连接环境
    SqlMapConfig.xml
<?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>
    <!-- xml文档有且只有一个根元素 -->
    <!-- 1. 引入mybatis的核心配置文件,在配置文件中配置连接环境 -->
    <environments default="mysql">
      <environment id="mysql">
          <transactionManager type="jdbc"></transactionManager>
          <!-- 配置数据源 -->
          <dataSource type="POOLED">
             <property name="driver" value="com.mysql.jdbc.Driver"/>
             <property name="url" value="jdbc:mysql://localhost:3306/myxm"/>
             <property name="username" value="root"/>
             <property name="password" value="root"/>
          </dataSource>
      </environment>
    </environments>
    <!-- 6. 将sql映射文件注入到mybatis核心配置文件中,方便程序的加载 -->
    <!-- 将sql映射文件注入到mybatis核心配置文件中 -->
    <mappers>
        <mapper resource="mybatis/mapper/UserInfoMapper.xml"  />
    </mappers>
</configuration>
  1. 针对数据库中要维护的实体构建实体类
    UserInfo.java
package mybatis.bean;
//2. 针对数据库中要维护的实体构建实体类
import java.sql.Timestamp;

public class UserInfo {

	private int id;
	private String username;
	private String password;
	private String email;
	private Timestamp birthday;
	
	public Timestamp getBirthday() {
		return birthday;
	}
	public void setBirthday(Timestamp birthday) {
		this.birthday = birthday;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	@Override
	public String toString() {
		return "UserInfo [id=" + id + ", username=" + username + ", password=" + password + ", email=" + email
				+ ", birthday=" + birthday + "]";
	}
}
  1. 基于mapper接口的形式开发
  2. 创建mapper接口,定义方法
    UserInfoMapper.java
package mybatis.mapper;
//3. 基于mapper接口的形式开发
//4. 创建mapper接口,定义方法
import mybatis.bean.UserInfo;

public interface UserInfoMapper {
	public UserInfo getInfoById(int id);
}
  1. 创建接口对应的SQL映射文件,实现功能
    UserInfoMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 5. 创建接口对应的SQL映射文件,实现功能  -->
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mybatis.mapper.UserInfoMapper" >
    
    <!-- 
       id:是接口中的方法名
       parameterType:是参数类型  全类名
       resultType:返回值类型
     -->
    <select id="getInfoById" parameterType="java.lang.Integer" resultType="mybatis.bean.UserInfo" >
        select * from userinfo where id=#{id}
    </select>
    
</mapper>
  1. 将sql映射文件注入到mybatis核心配置文件中,方便程序的加载
    在1里边

7.测试mybatis配置是否成功,进行数据库的查询
Test.java

package mybatis.test;
//7.测试
import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import mybatis.bean.UserInfo;
import mybatis.mapper.UserInfoMapper;

public class Test {

	public static void main(String[] args) throws IOException {
		
		//加载mybatis的核心配置文件
		Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
        //获取连接池对象
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
		//打开连接
		SqlSession session = factory.openSession();
		
		UserInfoMapper mapper = session.getMapper(UserInfoMapper.class);
		UserInfo u = mapper.getInfoById(2);
		System.out.println(u);
	}

}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值