SSM 框架之 Mybatis 整合

本文详细介绍了如何整合SSM框架中的Mybatis,从创建maven项目,配置Mybatis,编写Mybatis工具类,实现CRUD操作,到日志配置和ResultMap的使用。涉及关键步骤包括:Mybatis配置文件、日志配置、resultMap的映射关系以及多种模糊查询方案。
摘要由CSDN通过智能技术生成

(2)新建一个普通 maven 项目作为父项目,并导入 sql 驱动,mybatis,junit 组件

  <!--导入依赖-->  <dependencies>      <!--mysql驱动-->      <dependency>          <groupId>mysql</groupId>          <artifactId>mysql-connector-java</artifactId>          <version>5.1.46</version>      </dependency>      <!--Mybatis-->      <dependency>          <groupId>org.mybatis</groupId>          <artifactId>mybatis</artifactId>          <version>3.5.2</version>      </dependency>      <!--junit-->      <dependency>          <groupId>junit</groupId>          <artifactId>junit</artifactId>          <version>4.12</version>      </dependency>  </dependencies>

(3)新建一个新组件作为子级项目,普通 maven 的 module

(4)添加配置文件

  • 在 src->main->resources 目录下新建 mybatis-config.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">  <configuration>    <environments default="development">      <environment id="development">        <transactionManager type="JDBC"/>        <dataSource type="POOLED">          <property name="driver" value="${driver}"/> //数据库驱动,不同驱动可连接不同数据库服务器          <property name="url" value="${url}"/> //连接数据库的目录          <property name="username" value="${username}"/> //数据库名字,默认root          <property name="password" value="${password}"/> //数据库密码,自己的数据库密码,一般为root        </dataSource>      </environment>    </environments>  </configuration>

2、编写 mybatis 工具类

MybatisUtils.java:

  //SqlSessionFactory --生产--> SqlSession  public class MybatisUtils {
        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();          }      }      //获取sqlSession      //SqlSession完全包含了面向对象数据库执行SQL命令所需的方法      public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession();}  }

3、编写相关代码

(1)实体类

@Data  public class User {
        private int id;      private String name;      private String pwd;  }

(2)Dao 接口

  public interface UserDao {
        List<User> getUserList();  }

(3)xxxMapper.xml 配置文件

  • 接口的实现类要改为以 xxxMapper.xml 的配置文件

  • 注意事项:配置文件中不要写中文注释,如果非要写,解决方法见后面的异常解决方案

  <?xml version="1.0" encoding="utf-8" ?>  <!DOCTYPE mapper          PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"          "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  <!--namespace:命名空间,绑定mapper/Dao接口-->  <mapper namespace="com.wang.dao.UserDao">  <!--id:接口的方法,resultType:接口的返回值类型-->      <select id="getUserList" resultType="com.wang.pojo.User">          select * from mybatis.user where id = #{id}      </select>  </mapper>

每一个 Mapper.xml 文件都需要在 src->main->resources 目录下的 mybatis-config.xml 核心配置文件中注册:

<mappers>  <mapper resource="com/wang/dao/UserMapper.xml"></mappers>

4、测试

  public class UserDaoTest {
        @Test      public void test(){
            //获取SqlSession对象          SqlSession sqlSession = MybatisUtils.getSqlSession();          //获取mapper          UserDao mapper = sqlSession.getMapper(UserDao.class);          List<User> list = mapper.getUserList();          for (User u:list){
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值