美文网首页MyBatis+SpringMVC+SpringBootJava后端日更达人联盟
【MyBatis】实现一个增删改查完整的小入门Demo

【MyBatis】实现一个增删改查完整的小入门Demo

作者: 大数据阶梯之路 | 来源:发表于2019-02-11 19:25 被阅读61次

    本篇对mybatis学习做一个应用总结,使用开发工具IDEA操作数据库Mysql8撸一个入门级的demo,具有增删改查的功能。且学习到一些关于Junit单元测试的使用。

    一、创建项目

    1、创建一个maven项目,添加框架需要的jar包依赖,对应使用pom文件引入依赖。

    <dependencies>
            <!--MyBatis-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.6</version>
            </dependency>
            <!--mysql8数据库驱动包-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.15</version>
            </dependency>
            <!--Junit单元测试工具-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>
     </dependencies>
    

    上面的<scope>标签设定为test表示只参与测试阶段的相关工作,不会被打包出去。关于maven中的<scope>标签详解请看这里
    引入依赖下载的对应架包就在此处可以看到了。


    2、接下来新建一个mybatis-cfg.xml配置文件,可从官网文档中直接复制模板过来,然后对应修改属性参数的值,可采用①直接写死在value中或者②引入jdbc.properties文件的方式(建议第二种)
    <?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}"/>
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="org/mybatis/example/BlogMapper.xml"/>
        </mappers>
    </configuration>
    

    3、使用IDEA快速创建POJO类,实现与数据库的映射,附骚操作。

    图片.png 之后弹出框选择对应生成的entity文件夹,就自动生成了对应的代码了,不过此时可能要修改下包名,按下alt+enter快捷键自动去修改。如下图所示: 图片.png
    4、新建一个mapper文件夹,然后在里面编写对应的mapper映射文件,也可从官网文档中复制,命名规则通常为实体类名+Mapper,如userMapper
    <?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">
    <mapper namespace="xiaojiang.mybatisdemo.mapper.userMapper">
        <select id="selectUserById" resultType="xiaojiang.mybatisdemo.entity.User">
            select id,name,sex from user where id = #{id};
        </select>
        <select id="selectUserByName" parameterType="string" resultType="xiaojiang.mybatisdemo.entity.User">
            select * from user where name like '%${value}%';
        </select>
        <insert id="insertUser" parameterType="xiaojiang.mybatisdemo.entity.User">
            insert into User(id,name,sex) values(#{id},#{name},'${sex}');
        </insert>
        <update id="updateUser" parameterType="xiaojiang.mybatisdemo.entity.User">
            update User set name=#{name} where id = #{id};
        </update>
        <delete id="deleteUser" parameterType="int">
            delete from User where id = #{id};
        </delete>
    </mapper>
    

    5、创建UserDao对应的单元测试UserDaoTest,可通过IDEA快速创建单元测试,具体操作为:对应类源文件界面然后右键,选择GO TO>去开始创建Junit单元测试。以下是单元测试的具体编写:

    package xiaojiang.mybatisdemo.dao;
    
    import org.junit.After;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import xiaojiang.mybatisdemo.entity.User;
    
    import java.util.List;
    
    public class UserDaoTest {
        UserDao userDao;
        @Before
        public void setUp() throws Exception {
            userDao = new UserDao();
        }
        @After
        public void tearDown() throws Exception {
        }
    
        @Test
        public void selectUserById() throws Exception{
            User user = userDao.selectUserById(2);
            System.out.println(user);
            Assert.assertNotNull(user);
        }
    
        @Test
        public void selectUserByName() throws Exception{
            List<User> users = userDao.selectUserByName("江");
            System.out.println(users);
            Assert.assertNotNull(users);
        }
    
        @Test
        public void insertUser() throws Exception {
            User user = new User();
            user.setId(5);
            user.setName("小郑");
            user.setSex("女");
            Assert.assertEquals(1,userDao.insertUser(user));
        }
    
        @Test
        public void updateUser() throws Exception {
            User user = userDao.selectUserById(5);
            user.setName("大郑");
            Assert.assertEquals(1,userDao.updateUser(user));
        }
    
        @Test
        public void deleteUser() throws Exception {
            Assert.assertEquals(1,userDao.deleteUser(5));
        }
    }
    

    6、运行单元测试即可查看结果(增删改查

    测试查找单个用户操作: 图片.png
    测试查找多个用户操作: 图片.png
    测试插入用户操作: 图片.png
    测试修改用户操作: 图片.png
    测试删除用户操作: 图片.png
    小Demo我已经放在我的码云上,有需要看源码的小伙伴可直接点击跳转到这里mybatisDemo代码传送门

    附:
    1、期间使用IDEApush到码云上出现的project reject报错解决方案
    2、git的使用学习看我这篇

    相关文章

      网友评论

        本文标题:【MyBatis】实现一个增删改查完整的小入门Demo

        本文链接:https://www.haomeiwen.com/subject/yfqceqtx.html