Mybatis框架 -- 环境搭建及配置

桃扇骨 2022-02-17 11:47 378阅读 0赞

一、Mybatis概述

1. 传统JDBC开发缺点

  • 频繁创建数据库连接对象和释放,容易造成系统资源的浪费,从而影响系统的性能。在企业项目中,可以通过使用连接池解决这个问题,但是使用jdbc需要自己来实现连接池,而Mybatis内部提供连接池;
  • SQL语句的定义、参数设置、结果集处理存在硬编码,在企业项目中sql语句变化的可能性较大,一旦发生变化,需要修改java代码,系统需要重新编译,重新发布;
  • 结果集处理存在重复代码,每次都要遍历ResultSet,获取一行数据,封装为对象处理麻烦,Mybatis能够自动把行数据封装为java对象。

2. Mybatis简介
  Mybatis是一个持久层的框架,是对JDBC操作数据库的封装,使开发者只需要关注业务本身,不需要花费精力去处理加载驱动、创建数据库连接对象、创建statement语句对象、参数设置、结果集处理等一系列繁杂的过程代码。
  Mybatis通过xml或注解进行配置,将Java对象与sql语句中的参数自动映射生成最终执行的sql语句,并将sql语句执行结果自动映射成java对象,返回给业务层(service)应用。

  • Mybatis官网–中文

二、Mybatis环境配置

1. 创建表User

  1. CREATE TABLE USER (
  2. id INT(11) NOT NULL AUTO_INCREMENT,
  3. username VARCHAR(32) NOT NULL COMMENT '用户名称',
  4. birthday DATETIME DEFAULT NULL COMMENT '生日',
  5. sex CHAR(1) DEFAULT NULL COMMENT '性别',
  6. address VARCHAR(256) DEFAULT NULL COMMENT '地址',
  7. PRIMARY KEY (id)
  8. ) ENGINE=INNODB DEFAULT CHARSET=utf8;

2. 编写实体类

  1. public class User{ }

3. 添加依赖

  1. <dependencies>
  2. <!--mybatis依赖-->
  3. <dependency>
  4. <groupId>org.mybatis</groupId>
  5. <artifactId>mybatis</artifactId>
  6. <version>3.4.5</version>
  7. </dependency>
  8. <!--数据库驱动包-->
  9. <dependency>
  10. <groupId>mysql</groupId>
  11. <artifactId>mysql-connector-java</artifactId>
  12. <version>5.1.30</version>
  13. </dependency>
  14. <!--日志包-->
  15. <dependency>
  16. <groupId>log4j</groupId>
  17. <artifactId>log4j</artifactId>
  18. <version>1.2.17</version>
  19. </dependency>
  20. <!--junit测试包-->
  21. <dependency>
  22. <groupId>junit</groupId>
  23. <artifactId>junit</artifactId>
  24. <version>4.12</version>
  25. </dependency>
  26. </dependencies>

4. SqlMapConfig.xml

配置内容:

  • 数据库连接配置
  • 数据库连接池、事务管理
  • 加载接口的映射

    <?xml version=”1.0” encoding=”UTF-8”?>
    <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd">











    //localhost:3306/mybatis?characterEncoding=utf8">





5. dao层接口

  1. public interface UserDao {
  2. List<User> findAll();
  3. }

6. dao接口映射(XML)

放在resources文件夹下,新建com/zz/dao/UserDao.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <!--当前的映射文件对应的是UserDao接口-->
  4. <!--namespace 指定接口全名-->
  5. <mapper namespace="com.zz.dao.UserDao">
  6. <!--id 对应接口方法名称-->
  7. <!--resultType 对应方法返回值类型,如果方法返回的是集合,只要指定集合中元素的类型即可。-->
  8. <select id="findAll" resultType="com.zz.entity.User">
  9. select * from user;
  10. </select>
  11. </mapper>

7. SqlMapConfig.xml 加载接口的映射文件

  1. <!-- 加载接口的映射文件 -->
  2. <mappers>
  3. <!-- 必须放到类路径下 -->
  4. <mapper resource="com/zz/dao/UserDao.xml"></mapper>
  5. </mappers>

三、总结

1. 主配置文件SqlMapConfig.xml要加载接口映射文件路径
主配置加载接口映射文件.png

2. 映射文件的namespace要对应接口路径

  1. <mapper namespace="com.zz.dao.UserDao">

3. 接口方法名要对应mapper.xml id名
接口方法名要对应mapper.xml id名.png

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读