mybits原名是iBaits,是Apache公司下的一个开源性框架,2010年将其卖给了谷歌,更名为Mybaits,在2013年又将其挪到Github下。
摘自百度百科:
MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
mybatis架构图
mybatis入门程序
第一步:引入maven依赖
第二步:创建一个MybatisUtils类,用于加载mybatis的配置文件和利用session工厂创建session
1 package com.ssc.demo.util; 2 3 import org.apache.ibatis.io.Resources; 4 import org.apache.ibatis.session.SqlSession; 5 import org.apache.ibatis.session.SqlSessionFactory; 6 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 7 8 import java.io.IOException; 9 import java.io.InputStream; 10 11 public class MybatisUtils { 12 static SqlSessionFactory sqlSessionFactory; 13 static { 14 try{ 15 String resource="mybatis-config.xml"; 16 InputStream inputStream=Resources.getResourceAsStream(resource); 17 sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); 18 }catch (IOException e ){ 19 e.printStackTrace(); 20 } 21 } 22 //通过sqlSessionFactory创建SqlSession 23 public static SqlSession getSession(){ 24 return sqlSessionFactory.openSession(); 25 } 26 }
第三步,编写引入的mybatis配置文件mybatis-config.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <!--configuration核心配置文件--> 6 <configuration> 7 <environments default="development"> 8 <environment id="development"> 9 <transactionManager type="JDBC"/> 10 <dataSource type="POOLED"> 11 <property name="driver" value="com.mysql.cj.jdbc.Driver"/> 12 <property name="url" value="jdbc:mysql://localhost:3306/schooldb?userSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/> 13 <property name="username" value="root"/> 14 <property name="password" value="123456"/> 15 </dataSource> 16 </environment> 17 </environments> 18 <mappers> 19 <mapper resource="com/ssc/demo/mybatis/mapper/SubjectMapper.xml"/> 20 </mappers> 21 </configuration>
第四步:编写对应的mapper文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <mapper namespace="com.ssc.demo.mybatis.dao.SubjectDao"> 6 <select id="selectSubjects" resultType="com.ssc.demo.mybatis.pojo.Subject"> 7 select * from tsubject 8 </select> 9 </mapper>
第五步,编写对应的pojo类
1 package com.ssc.demo.mybatis.pojo; 2 3 import lombok.Getter; 4 import lombok.Setter; 5 6 import java.io.Serializable; 7 8 @Getter 9 @Setter 10 public class Subject implements Serializable { 11 private static final long serialVersionUID = 3553753781945395238L; 12 private String SubjectId; 13 private String SubjectName; 14 private String BookName; 15 private String Pulisher; 16 17 @Override 18 public String toString() { 19 return "Subject{" + 20 "SubjectId=‘" + SubjectId + ‘\‘‘ + 21 ", SubjectName=‘" + SubjectName + ‘\‘‘ + 22 ", BookName=‘" + BookName + ‘\‘‘ + 23 ", Pulisher=‘" + Pulisher + ‘\‘‘ + 24 ‘}‘; 25 } 26 }
第六步编写测试类DemoApplicationTests.java
1 package com.ssc.demo; 2 3 import com.ssc.demo.mybatis.dao.SubjectDao; 4 import com.ssc.demo.mybatis.pojo.Subject; 5 import com.ssc.demo.util.MybatisUtils; 6 import org.apache.ibatis.session.SqlSession; 7 import org.junit.jupiter.api.Test; 8 import org.springframework.boot.test.context.SpringBootTest; 9 10 import java.util.List; 11 12 @SpringBootTest 13 class DemoApplicationTests { 14 15 @Test 16 void mybatis_01() { 17 //第一步创建sqlSession对象 18 SqlSession sqlSession=MybatisUtils.getSession(); 19 //执行sql 20 SubjectDao subjectDao=sqlSession.getMapper(SubjectDao.class); 21 List<Subject> subjectList=subjectDao.selectSubjects(); 22 for (Subject subject:subjectList) { 23 System.out.println(subject); 24 } 25 //关闭sqlSession 26 sqlSession.close(); 27 } 28 29 }
第七步运行查看效果
原文:https://www.cnblogs.com/songlove/p/7231153.html