MyBatis如何入门以及实现一个简单的增删改查

2025-10-22 08:37:10

1、首先新建一个MyBatis Maven项目

MyBatis如何入门以及实现一个简单的增删改查

2、新建一个Employee类。

package com.gwolf.bean;

public class Employee implements java.io.Serializable{

        private Integer empId;

        

        private String empName;

        

        private String email;

        

        private String gender;

        

        public Integer getEmpId() {

                return empId;

        }

        public void setEmpId(Integer empId) {

                this.empId = empId;

        }

        public String getEmpName() {

                return empName;

        }

        public void setEmpName(String empName) {

                this.empName = empName;

        }

        public String getEmail() {

                return email;

        }

        public void setEmail(String email) {

                this.email = email;

        }

        public String getGender() {

                return gender;

        }

        public void setGender(String gender) {

                this.gender = gender;

        }

        

        @Override

        public String toString() {

                return "Employee [empId=" + empId + ", empName=" + empName + ", email="

                                + email + ", gender=" + gender + "]";

        }

}

MyBatis如何入门以及实现一个简单的增删改查

3、在maven配置文件中添加mybatis和mysql数据库驱动的依赖包。并且为了能够看到sql的打印日志,我们还需要加入log4j依赖包。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.gwolf</groupId>

  <artifactId>Mybatis3</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>

  <name>Mybatis3</name>

  <url>http://maven.apache.org</url>

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.12</version>

      <scope>test</scope>

    </dependency>

    

    <!-- MyBatis -->

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.4.2</version>

        </dependency>

        

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.41</version>

        </dependency>

        

        <dependency>

            <groupId>log4j</groupId>

            <artifactId>log4j</artifactId>

            <version>1.2.17</version>

        </dependency>

        

        

        

  </dependencies>

</project>

MyBatis如何入门以及实现一个简单的增删改查

4、创建Employee映射的xml配置文件:EmployeeMapper.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">

<mapper namespace="com.gwolf.dao.EmployeeMapper">

        <!-- 

                namespace:名称空间

                id:唯一标识

                resultType:返回值类型

                #{empId}:从传递过来的参数取出empId值

         -->

  <select id="selectEmployee" resultType="com.gwolf.bean.Employee">

    select * from tbl_emp where emp_id = #{empId}

  </select>

</mapper>

MyBatis如何入门以及实现一个简单的增删改查

5、创建一个mybatis-config.xml文件,用于创建SqlSessionFactory:

<?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="com.mysql.jdbc.Driver"/>

        <property name="url" value="jdbc:mysql://localhost:3306/ssm_crud"/>

        <property name="username" value="root"/>

        <property name="password" value="root"/>

      </dataSource>

      

    </environment>

  </environments>

  

  <mappers>

    <mapper resource="EmployeeMapper.xml"/>

  </mappers>

  

</configuration>

MyBatis如何入门以及实现一个简单的增删改查

6、新建一个java测试类AppTest,用户测试mybatis的增删改查:创建一个SqlSessionFactory对象。

package com.gwolf;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import org.junit.Test;

public class AppTest {

        

        @Test

        public void test() throws Exception {

                String resource = "mybatis-config.xml";

                InputStream inputStream = Resources.getResourceAsStream(resource);

                SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        }

        

}

MyBatis如何入门以及实现一个简单的增删改查

7、下一步是从 SqlSessionFactory 中获取 SqlSession,能直接执行已经映射的sql语句。

package com.gwolf;

import java.io.InputStream;

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.Test;

import com.gwolf.bean.Employee;

public class AppTest {

        @Test

        public void test() throws Exception {

                String resource = "mybatis-config.xml";

                InputStream inputStream = Resources.getResourceAsStream(resource);

                SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

                

                SqlSession sqlSession = sqlSessionFactory.openSession();

                

                try {

                        Employee employee = sqlSession.selectOne("com.gwolf.dao.EmployeeMapper.selectEmployee", 1);

                        

                        System.out.println(employee);

                }finally {

                        sqlSession.close();

                }

        }

        

}

MyBatis如何入门以及实现一个简单的增删改查

8、执行单元测试,查看程序运行结果:

MyBatis如何入门以及实现一个简单的增删改查

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢