
Mybatis源自Apache的ibatis开源项目,从3.x版本开始更名为Mybatis。通常,我们将sql'写在Java代码中,但是呢有人说它不利于后期维护,因为和Java代码耦合度太高。放到Mapper.xml中方便改改sql语句。
1、首先加入M一把提升所依赖的Jar包。
org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 mysql mysql-connector-java runtime
2、数据库链接
数据库的链接方式,有很多很多种啊,大家随便用。这里再尝试一种新的链接方式
使用Mybatis-config.xml配置文件
3、创建小小的数据库测试表

4、创建java连接Mybatis.xml的接口
package com.frozen.control;
import org.apache.ibatis.annotations.Param;
/**
* @Author HoYL
* @Date 2022/8/27
*/
public interface IMybatis {
//当方法中的变量为一个String类型时,在xml文件中的sql语句#{}中内容可以随便写
//当方法中的变量为两个及以上的String类型时,在xml文件sql语句中#{}中的内容应该为0, 1,或param1, param2
//如果在接口方法中使用@Param(""),其中内容与#{}中内容相同,在程序开发时,不管有几个,都建议使用@Param
//如果方法名中是一个自定义类型,则只需要在使用自定义类中的set方法为其赋值,在使用接口中的抽象方法即可实现
String getstuClassName(@Param("id") String id);
}
5、创建今天最主要的东西,Mybatis.xml
6、进行测试
package com.frozen.control;
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 org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.InputStream;
/**
* @Author HoYL
* @Date 2022/8/27
*/
@RestController
@RequestMapping("/hoyl")
public class MybatisL {
@GetMapping("/ly")
public String getstuClassName(){
try {
//加载配置全局文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//SQLSession对象表示一次数据库连接
SqlSessionFactory factory =new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = factory.openSession();
//↑ openSession()中有true和false的参数,若为true,则自动提交事务,若为false,则需要手动提交,默认为false
//从SQLSession中获取接口实现类对象
IMybatis hoyl = sqlSession.getMapper(com.frozen.control.IMybatis.class);
String name = hoyl.getstuClassName("1");
//资源释放
sqlSession.close();
return name;
}catch (Exception e){
e.printStackTrace();
return "error";
}
}
}
