springBoot中使用mybatis入门笔记(一)
前言:
这是一篇mybatis入门级别的文章,包含一些mybatis的配置,以及CRUD等。mybatis集成
1.引入依赖。在项目pom文件引入mybatis的相关依赖。如mysql-驱动 mysql mysql-connector-java 8.0.20 org.mybatis mybatis 3.5.5 org.projectlombok lombok 1.18.12 junit junit 4.12 test log4j log4j 1.2.12 在项目resource文件夹下创建mybatis_config.xml配置文件.<?xml version="1.0" encoding="UTF-8" ?> 编写一个Mybatis工具类获取sqlsessionpackage com.keelon.Utils; 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 java.io.IOException; import java.io.InputStream; public class MybatisUtils { static String resource; private static SqlSessionFactory sqlSessionFactory; static { try { String resource= "mybatis_config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); }catch (IOException e){ e.printStackTrace(); } } public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } } 创建实体类User。同时在数据库中创建一个与实体类对应的表。package com.keelon.entity; import lombok.Data; @Data public class User { private Integer id; private String name; private String pwd; }
这里使用@Data注解,用lombook帮我们自动生成set,get方法。
创建UserMapper的接口类.package com.keelon.mapper; import com.keelon.entity.User; import java.util.List; public interface UserMapper { List findAll(); }
创建UserMapper的xml文件。<?xml version="1.0" encoding="UTF-8"?>
maven由于他的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的情况。下面是解决方案: src/main/resources **/*.properties **/*.xml true src/main/java **/*.properties **/*.xml true
最后我们编写一个单元测试类:
package com.keelon.dao; import com.keelon.Utils.MybatisUtils; import com.keelon.entity.User; import com.keelon.mapper.UserMapper; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class daoTest { @Test public void findAllUser(){ //第一步获取sqlsession SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List userList = userMapper.findAll(); for (User user : userList){ System.out.print(user.toString()); } } }
最后我们看看代码的结构和运行结果。