Mybatis

一、maven依赖


  1. org.mybatis
  2. mybatis
  3. 3.5.2


  4. mysql
  5. mysql-connector-java
  6. 5.1.47

二、配置mybatis-config.xml文件
在资源文件下创建properties文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8
username=root
password=123456
创建mybatis-config.xml




















三、mybatis工具类 MybatisUtils

  1. import org.apache.ibatis.io.Resources;
  2. import org.apache.ibatis.session.SqlSession;
  3. import org.apache.ibatis.session.SqlSessionFactory;
  4. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. public class MybatisUtils {
  8. private static SqlSessionFactory sqlSessionFactory;
  9. static {
  10. try {
  11. String resource = “mybatis-config.xml”;
  12. InputStream inputStream = Resources.getResourceAsStream(resource);
  13. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  14. } catch (IOException e) {
  15. e.printStackTrace();
  16. }
  17. }
  18. //获取SqlSession连接
  19. public static SqlSession getSession(){
  20. return sqlSessionFactory.openSession();
  21. }
  22. }

四、创建实体类(以User为例)

  1. public class User {
  2. private int id; //id
  3. private String name; //姓名
  4. private String pwd; //密码
  5. //构造,有参,无参
  6. //set/get
  7. //toString()
  8. }

五、编写mapper接口

  1. import com.kuang.pojo.User;
  2. import java.util.List;
  3. public interface UserMapper {
  4. List selectUser();
  5. }

六、配置mapper.xml

  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“>






七、Unit测试类

  1. public class MyTest {
  2. @Test
  3. public void selectUser() {
  4. SqlSession session = MybatisUtils.getSession();
  5. //方法一:
  6. //List users = session.selectList(“com.kuang.mapper.UserMapper.selectUser”);
  7. //方法二:
  8. UserMapper mapper = session.getMapper(UserMapper.class);
  9. List users = mapper.selectUser();
  10. for (User user: users){
  11. System.out.println(user);
  12. }
  13. session.close();
  14. }
  15. }


动态拼接和缓存都需要了解 缓存去网上搜