首页 > 其他 > 详细

Mybaits入门

时间:2021-03-29 15:32:58      阅读:32      评论:0      收藏:0      [点我收藏+]

mybits原名是iBaits,是Apache公司下的一个开源性框架,2010年将其卖给了谷歌,更名为Mybaits,在2013年又将其挪到Github下。

摘自百度百科:

        MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。

 

mybatis架构图

         技术分享图片

mybatis入门程序

第一步:引入maven依赖

技术分享图片pom.xml

第二步:创建一个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&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;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 }

第七步运行查看效果

技术分享图片

 

Mybaits入门

原文:https://www.cnblogs.com/songlove/p/7231153.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!