0


【mybatis】初识mybatis与快速入门第一个程序

🍋1.Mybatis概述

  1. MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。**MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。**MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJOPlain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

可能大家读不太懂上面的话,觉得写的很官方,但这也确实是mybatis官方目录对于mybatis的解释。我们暂时还不了解mybatis,但相信大家都学过JDBC,它的操作方式繁杂,SQL代码和Java代码高度耦合,无论是学习的人还是使用的人都觉得繁琐,所以mybatis应用而生(当然还有hibernate这个框架,不过已经被淘汰了)。正如官方文档加深字体所说,mybatis就是一个为了来优化JDBC代码的持久层框架。

🍋2.Mybatis快速入门

** Mybatis环境搭建步骤:**

** 1.创建maven项目,导入对应需要的jar包**

** 2.编写mapper映射文件和mybatis全局配置文件**

** 3.创建一个pojo类,在数据库中建立对应表,编写mapper配置文件**

** 4.编写mybatisUtils工具类,得到sqlSessionFactory对象**

** ** 5.进行test测试,通过工具类sqlSession实例来获得mapper,调用映射文件中的SQL语句完成CRUD操作

** **1.创建maven项目

** 在pom.xml中导入依赖**

  1. **mybatis需要的依赖**
  1. <dependencies>
  2. <!--MySQL驱动-->
  3. <dependency>
  4. <groupId>mysql</groupId>
  5. <artifactId>mysql-connector-java</artifactId>
  6. <version>5.1.47</version>
  7. </dependency>
  8. <!--mybatis包-->
  9. <dependency>
  10. <groupId>org.mybatis</groupId>
  11. <artifactId>mybatis</artifactId>
  12. <version>3.5.2</version>
  13. </dependency>
  14. <!--junit-->
  15. <dependency>
  16. <groupId>junit</groupId>
  17. <artifactId>junit</artifactId>
  18. <version>4.12</version>
  19. </dependency>
  20. </dependencies>

** 2.编写mapper映射文件和mybatis全局配置文件**

** 编写Mapper文件(也就是接口)**** 编写对应的Mapper.xml文件**** ** 在resource下建立一个mybatis—config.xml

导入核心配置信息,注意我标注的地方需要根据自己数据库的地方进行更改

  1. <?xml version="1.0" encoding="UTF8" ?>
  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.jdbc.Driver"/>
  12. <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
  13. <property name="username" value="root"/>
  14. <property name="password" value="123456"/>
  15. </dataSource>
  16. </environment>
  17. </environments>
  18. <!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册-->
  19. <mappers>
  20. <mapper resource="com/kaung/dao/UserMapper.xml"/>
  21. </mappers>
  22. </configuration>

** **** 3.编写一个User类**

  1. public class User {
  2. private int id;
  3. private String name;
  4. private String password;
  5. public User() {
  6. }
  7. public User(int id, String name, String password) {
  8. this.id = id;
  9. this.name = name;
  10. this.password = password;
  11. }
  12. public int getId() {
  13. return id;
  14. }
  15. public void setId(int id) {
  16. this.id = id;
  17. }
  18. public String getName() {
  19. return name;
  20. }
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24. public String getPassword() {
  25. return password;
  26. }
  27. public void setPassword(String password) {
  28. this.password = password;
  29. }
  30. @Override
  31. public String toString() {
  32. return "User{" +
  33. "id=" + id +
  34. ", name='" + name + '\'' +
  35. ", password='" + password + '\'' +
  36. '}';
  37. }
  38. }
  1. **在数据库中建立对应的表(CRUD自己手写)**

** 4.编写一个mybatis工具类,获得SqlSession对象**

** 在java下建一个utils包,建立一个MybatisUtils工具类**

  1. //工具类 sqlSessionFactory -->sqlSession
  2. public class MybatisUtils {
  3. private static SqlSessionFactory sqlSessionFactory;
  4. static {
  5. try {
  6. //使用mybatis获取sqlSessionFactory对象
  7. String resource = "mybatis-config.xml";
  8. InputStream inputStream = Resources.getResourceAsStream(resource);
  9. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  10. } catch (IOException e) {
  11. e.printStackTrace();
  12. }
  13. }
  14. //既然有了 SqlSessionFactory,顾名思义,
  15. // 我们可以从中获得 SqlSession 的实例。SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
  16. // 你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。
  17. public static SqlSession getSqlSession() {
  18. return sqlSessionFactory.openSession();
  19. }
  20. }

5.test进行测试,查询所有User

  1. public class UserDaoMapperTest {
  2. @Test
  3. public void test(){
  4. //1.获得sqlSession对象
  5. SqlSession sqlSession = MybatisUtils.getSqlSession();
  6. //方法1:getMapper
  7. UserDaoMapper userDaoMapper = sqlSession.getMapper(UserDaoMapper.class);
  8. List<User> userList= userDaoMapper.getUserList();
  9. for (User user:userList){
  10. System.out.println(user);
  11. }
  12. //关闭sqlSession
  13. sqlSession.close();
  14. }
  15. }
  1. ** 有什么疑问请在评论区留下!!**

本文转载自: https://blog.csdn.net/m0_57487901/article/details/122610633
版权归原作者 执 梗 所有, 如有侵权,请联系我们删除。

“【mybatis】初识mybatis与快速入门第一个程序”的评论:

还没有评论