Mybatis

Mybatis是一个开源的操作数据库ORM框架

ORM:Object Relation Mapper(对象关系映射)

文档:https://mybatis.org/mybatis-3/zh/index.html

项目:https://github.com/mybatis/mybatis-3

项目结构

Mybatis - 图1

基本使用

(1)导入相关依赖

示例如下

  1. <!-- Mybatis-->
  2. <dependency>
  3. <groupId>org.mybatis</groupId>
  4. <artifactId>mybatis</artifactId>
  5. <version>3.5.7</version>
  6. </dependency>
  7. <!-- 数据库驱动包-->
  8. <dependency>
  9. <groupId>mysql</groupId>
  10. <artifactId>mysql-connector-java</artifactId>
  11. <version>5.1.47</version>
  12. </dependency>
  13. <!-- junit-->
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>4.12</version>
  18. </dependency>

(2)配置Mybatis配置文件

  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. <environments default="development">
  7. <environment id="development">
  8. <transactionManager type="JDBC"/>
  9. <dataSource type="POOLED">
  10. <!-- 数据库连接的配置-->
  11. <property name="driver" value="com.mysql.jdbc.Driver"/>
  12. <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;characterEncoding=utf8"/>
  13. <property name="username" value="root"/>
  14. <property name="password" value="123456"/>
  15. </dataSource>
  16. </environment>
  17. </environments>
  18. <mappers>
  19. <mapper resource="UserMapper.xml"/>
  20. </mappers>
  21. </configuration>

(3)配置映射文件

  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.cskaoyan">
  6. <select id="selectById" resultType="com.cskaoyan.vo.User">
  7. select * from t_user where id = #{id}
  8. </select>
  9. </mapper>

模型

  1. package com.cskaoyan.vo;
  2. public class User {
  3. String username;
  4. String password;
  5. Integer age;
  6. String nickName;
  7. }

(4)往数据库中插入记录

  1. package com.cskaoyan;
  2. import com.cskaoyan.vo.User;
  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. import java.io.IOException;
  8. import java.io.InputStream;
  9. public class Main {
  10. public static void main(String[] args) {
  11. // 1.获取builder对象
  12. SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
  13. InputStream stream = null;
  14. try {
  15. stream = Resources.getResourceAsStream("mybatis-config.xml");
  16. } catch (IOException e) {
  17. e.printStackTrace();
  18. }
  19. // 2.创建sqlSessionFactory工厂
  20. SqlSessionFactory sqlSessionFactory = builder.build(stream);
  21. // 3.获取sqlSession对象
  22. SqlSession sqlSession = sqlSessionFactory.openSession();
  23. // 4.查询
  24. User user = sqlSession.selectOne("com.cskaoyan.selectById", 7);
  25. System.out.println(user);
  26. // 5.关闭
  27. sqlSession.close();
  28. }
  29. }