Mybatis的应用程序实例

1. 环境搭建

1.1 搭建数据库

本小节是运用navicat进行MySQL数据库的创建如下:
在这里插入图片描述
新建自己所需要的数据库,本小节测试用例的数据库名为mybatis,然后建立表user并添加三个数据如下所示:
在这里插入图片描述
接下来用软件IDEA进行测试连接,首先在idea中新建自己的数据库。如果没有下面选项,需要先到File选项中seting的Plugins中先下载database插件,然后再新建。
在这里插入图片描述
在这里插入图片描述
选择MySQL数据,新建可得到如下所示:
在这里插入图片描述
在这里插入图片描述
然后根据MySQL数据库的属性信息,相对应的输入自己的连接名称,用户名,数据库名称以及数据库密码等,然后进行测试连接。
在这里插入图片描述
在这里插入图片描述
注:一开始连接可能会出现如下错误:
错误提示
其解决方法为:
在这里插入图片描述

1.2 配置Mybatis环境

在Flie选项的Setting中找到Plugins,安装好Mybatis插件并进行重启idea.
在这里插入图片描述

2. 导入mybatis程序

在idea中新建一个maven文件,新建好后在pom文件中导入分别依赖。
在这里插入图片描述
在resources中新建一个config的xml文件,并编写好核心配置文件(主要为改写连接MySQL数据库Value的值)如下所示:
在这里插入图片描述
接下来参照mybaits中文官网https://mybatis.org/mybatis-3/zh/getting-started.html进行设计。
首先编写mybatis的一个工具类来对数据库进行管理,主要内容为建立一个包com.kuang.utils中的mybatisUtils工具类,根据中文文档中的XML中构建SqlSessionFactory配置如下所示:
在这里插入图片描述
然后根据上面代码进行编写工具类,其中部分按照自己的源文件进行命名。
在这里插入图片描述

3. 编写代码

3.1 实体类

根据MySQL数据库中包含的变量,分别对每个变量进行构造 (注:快捷键Alt+insert可以快速进行构造无参、有参以及get、set函数)
在这里插入图片描述

3.2 Dao接口

新建一个Dao包,创建一个UserDao接口。然后定义一个列表,把所有的用户储存在其中:

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

3.3 接口实现类

新建一个mapper配置文件,由原来的UserDaoImpl接口实现类转换成Mapper配置文件,其编码格式为:

<?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空间绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.kuang.dao.UserDao">
<!--   select查询语句-->
    <select id="getUserList" resultType="com.kuang.pojo.User">
        select * from mybatis.user
    </select>
</mapper>

根据文件修改配置自己的文件:
在这里插入图片描述

4. 进行测试

测试主要通过junit运行,其首先需要在pom文件中导入依赖。再在mian同级中新建test.com.kuang.dao包(其主要与main中保持一致),然后新建UserDaoTest类,编写以下代码进行测试:

public class UserDaoTest {
    @Test
    public void Test(){
        //获取sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        //方式一:运用Mapper
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        List<User> userList = mapper.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        //关闭sqlSession
        sqlSession.close();
    }
}

其中运行后可能出现如下错误(或者出现未注册的情况):
在这里插入图片描述
其主要原因是每一个mapper.xml文件都需要在mybatis核心配置文件中注册,在resource文件夹中的mybatis-config.xml根据main路径中的mapper.xml文件路径修改如下:
在这里插入图片描述
在运行则会报如下错误:
在这里插入图片描述
然而通过错误我们发现自己文件夹中有,而运行的文件夹中却没有。(惊讶的发现为资源过滤问题——无法对部分文件进行运行)
在这里插入图片描述

参考:【狂神说java】Mybatis最新完整教程IDEA版通俗易懂

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以参考以下步骤来创建一个使用Spring Boot和MyBatis的黑马项目示例。 步骤1:创建Spring Boot项目 首先,你需要创建一个新的Spring Boot项目。你可以使用Spring Initializr(https://start.spring.io/)来快速生成基本的项目结构和依赖项。确保选择适合你的需求的依赖项,如Web、MyBatis等。 步骤2:配置数据库连接 在application.properties(或application.yml)文件中配置数据库连接。添加以下属性,根据你的实际情况进行修改: ``` spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 步骤3:创建实体类和Mapper接口 在src/main/java目录下创建实体类和Mapper接口。实体类用于映射数据库表,Mapper接口用于定义数据库操作方法。例如,你可以创建一个名为User的实体类和一个名为UserMapper的Mapper接口。 ```java // User.java public class User { private Long id; private String name; // getters and setters } // UserMapper.java @Mapper public interface UserMapper { User findById(Long id); List<User> findAll(); void save(User user); void update(User user); void delete(Long id); } ``` 步骤4:编写Mapper.xml文件 在src/main/resources目录下创建Mapper.xml文件,用于编写SQL语句。例如,你可以创建一个名为UserMapper.xml的文件,并在其中定义与User实体类相关的SQL语句。 ```xml <!-- UserMapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <select id="findById" resultType="com.example.entity.User"> SELECT * FROM users WHERE id = #{id} </select> <!-- 其他SQL语句 --> </mapper> ``` 步骤5:实现Mapper接口 创建一个名为UserMapperImpl的类,实现UserMapper接口。在该类中,注入SqlSessionFactory并使用它来执行数据库操作。你可以使用注解或XML配置来实现这一点。 ```java @Repository public class UserMapperImpl implements UserMapper { private final SqlSessionFactory sqlSessionFactory; @Autowired public UserMapperImpl(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory; } @Override public User findById(Long id) { try (SqlSession session = sqlSessionFactory.openSession()) { return session.selectOne("com.example.mapper.UserMapper.findById", id); } } // 其他方法的实现 } ``` 步骤6:编写Service层和Controller层 创建一个名为UserService的Service类,注入UserMapper并实现业务逻辑。然后,创建一个名为UserController的Controller类,注入UserService,并定义路由和请求处理方法。 步骤7:启动应用程序 最后,你可以运行应用程序并通过浏览器或其他HTTP客户端访问相应的路由,以测试你的项目示例。 这只是一个简单的示例,你可以根据需要进行扩展和调整。希望这能帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值