Mybatis快速入门

一、创建Maven项目

1、创建新项目

image.png

2、选择Maven,然后点击Next

image.png

3、设置项目坐标,点击Finish开始构建项目

image.png

5、等待项目构建完成即可

image.png

二、修改pom文件

1、设置项目编码格式及JDK版本

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>      
  <maven.compiler.encoding>UTF-8</maven.compiler.encoding>    
  <java.version>1.8</java.version>   
  <maven.compiler.source>1.8</maven.compiler.source> 
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

2、添加mybatis相关依赖

<dependencies>
  <!--mybatis坐标--> 
  <dependency> 
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.4.5</version>
  </dependency>
  <!--mysql驱动坐标-->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version> <scope>runtime</scope>
  </dependency>
  <!--单元测试坐标-->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
  <!--日志坐标-->
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
  </dependency>
</dependencies>

三、创建member表以及实体类文件

1、创建member表

DROP TABLE IF EXISTS `member`;
CREATE TABLE `member` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `account` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `username` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

2、创建member实体类

package com.yinyw.china.pojo;

import java.io.Serializable;

public class Member implements Serializable {

    private static final long serialVersionUID = 8592976086905189654L;
    /**
     * 会员编号
     */
    private Integer id;
    /**
     * 账号
     */
    private String account;
    /**
     * 密码
     */
    private String password;
    /**
     * 用户姓名
     */
    private String username;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "Member{" +
                "id=" + id +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", username='" + username + '\'' +
                '}';
    }
    
}

四、创建Mybatis核心配置文件

1、创建SqlMapConfig.xml文件

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <properties resource="jdbc.properties"></properties>

    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

</configuration>

2、创建jdbc.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.0.101:3306/mybatis
jdbc.username=root
jdbc.password=root

五、创建操作member表的接口以及映射文件

1、创建IMemberMapper接口

package com.yinyw.china.mapper;

import com.yinyw.china.pojo.Member;

public interface IMemberMapper {

    /**
     * 保存用户信息
     * @param member 用户信息
     */
    void saveMember(Member member);

    /**
     * 删除用户信息
     * @param id 用户编号
     */
    void deleteMemberById(Integer id);

    /**
     * 更新用户信息
     * @param member 用户信息
     */
    void updateMember(Member member);

    /**
     * 查询用户信息
     * @param id 用户编号
     * @return
     */
    Member queryMember(Integer id);

}

2、创建MemberMapper映射文件

<?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="com.yinyw.china.mapper.IMemberMapper">
    
    <insert id="saveMember" parameterType="com.yinyw.china.pojo.Member">
        INSERT INTO member (account,password,username) VALUES(#{account},#{password},#{username})
    </insert>
    
    <delete id="deleteMemberById" parameterType="java.lang.Integer">
        DELETE FROM member WHERE ID = #{id}
    </delete>

    <update id="updateMember" parameterType="com.yinyw.china.pojo.Member">
        UPDATE member SET account = #{account} , password = #{password} , username = #{username}
    </update>

    <select id="queryMember" parameterType="java.lang.Integer" resultType="com.yinyw.china.pojo.Member">
        SELECT id,account,password,username FROM member WHERE id = #{id}
    </select>
    
</mapper>

3、在SqlConfiguration.xml文件中引入mapper映射文件

    <!-- 在最底部添加如下标签 -->
    <mappers>
        <mapper resource="mappers/MemberMapper.xml"></mapper>
    </mappers>

六、创建测试类测试Mybatis

import com.yinyw.china.mapper.IMemberMapper;
import com.yinyw.china.pojo.Member;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;

public class MybatisTest {

    private IMemberMapper memberMapper;

    @Before
    public void getSqlSessionFactory() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlConfiguration.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        memberMapper = sqlSession.getMapper(IMemberMapper.class);
    }

    @Test
    public void testSaveMember() {
        Member member = new Member();
        member.setAccount("3399889");
        member.setPassword("1234qwer");
        member.setUsername("张三");
        memberMapper.saveMember(member);
        System.out.printf("保存用户信息成功");
    }

    @Test
    public void testQueryMember() {
        Member member = memberMapper.queryMember(3);
        System.out.printf("查询用户信息成功:" + member.toString());
    }

    @Test
    public void testUpdateMember() {
        Member member = memberMapper.queryMember(3);
        member.setPassword("qwer1234");
        memberMapper.updateMember(member);
        member = memberMapper.queryMember(3);
        System.out.printf("更新用户信息成功:" + member.toString());
    }

    @Test
    public void testDeleteMember() {
        memberMapper.deleteMemberById(3);
        Member member = memberMapper.queryMember(3);
        System.out.printf("删除用户信息成功:" + member);
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容