Mapper 인터페이스를 사용하면 인터페이스 구현 클래스를 작성할 필요가 없으며 데이터베이스 작업을 직접 완료할 수 있어 간단하고 편리합니다. 모든 사람이 Mapper 인터페이스를 더 잘 배울 수 있도록 편집자는 도움이 필요한 사람들에게 도움이 되기를 바라며 Mapper 인터페이스에 대한 몇 가지 지식 포인트를 요약했습니다.
구조 다이어그램부터 시작해 보겠습니다.
다음은 구체적인 코드입니다.
1. User.java
实体类中的的get/set方法以及构造方法及toString方法就不贴了 public class User { private int id; private String name; private int age; }
2 이것은 매퍼 인터페이스입니다. 인터페이스 지향 프로그래밍은 여전히 매우 중요합니다. 이번 블로그 포스팅에서 가장 중요한 부분이기도 합니다.
인터페이스 정의는 다음과 같은 특징을 가지고 있습니다.
package com.mi.mapper;import org.apache.ibatis.annotations.Param;import com.mi.beans.User;public interface UserMapper { void createTable (@Param("tableName") String tableName); void add(User user); void del(int id); void update(User user); User getUser(int id); User[] list(); }
이 있습니다. 여기서 주의할 점은 that 1. . JDBC 연결
Configuring mapper.xml
<mapper namespace="com.mi.mapper.UserMapper">
여기에 도구 클래스를 작성했는데, 주요 목적은 sqlSession을 얻는 것입니다. 데이터베이스를 작동할 때마다 다시 작성해서 한번 캡슐화해보겠습니다.
create table ${tableName}...
, MyTest.java 위의 툴 클래스인 sqlSession을 통해 가장 중요한 것은 다음 문장입니다.
<mapper namespace="com.mi.mapper.UserMapper">create table ${tableName} (id int primary key auto_increment,name varchar(20),age int) insert into t_user(name,age) value(#{name},#{age}) delete from t_user where id = #{id} update t_user set name=#{name},age=#{age} where id=#{id}
<?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/mybatis" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- 注册userMapper.xml文件 -->
<mappers>
<mapper resource="com/mi/mapping/userMappers.xml"/>
</mappers></configuration>
2. UserMapper.java
이것은 매퍼 인터페이스이며 인터페이스의 아이디어입니다. 지향적인 프로그래밍은 여전히 매우 중요합니다. 이번 블로그 포스팅에서 가장 중요한 부분이기도 합니다.
인터페이스 정의는 다음과 같은 특징을 가지고 있습니다.
Mapper 인터페이스 메소드 이름은 UserMapper.xml에 정의된 각 SQL의 ID와 동일한 이름을 갖습니다.
Mapper 인터페이스 메소드의 입력 매개변수 유형은 UserMapper.xml에 정의된 sql의 매개변수 유형 유형과 동일합니다.口Mapper 인터페이스의 반환 유형과 UserMapper.xml에 정의된 SQL 결과 유형 유형 테이블을 생성하는 방법과 동일하게 주석@Param
package com.mi.util;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;public class SqlSessionUtil { public static SqlSession getSqlSession() throws Exception{ String resource = "conf.xml"; //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件) InputStream is = Resources.getResourceAsStream(resource); //构建sqlSession的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); //创建能执行映射文件中sql的sqlSession SqlSession sqlSession = sessionFactory.openSession(); return sqlSession; } }
1. . JDBC 연결
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
여기에 도구 클래스를 작성했는데, 주요 목적은 sqlSession을 얻는 것입니다. 데이터베이스를 작동할 때마다 다시 작성해서 한번 캡슐화해보겠습니다.
这里我只执行了创建表的方法. package com.mi.test;import org.apache.ibatis.session.SqlSession;import com.mi.beans.User;import com.mi.mapper.UserMapper; import com.mi.util.SqlSessionUtil;public class MyTest { public static void main(String[] args) throws Exception { SqlSession sqlSession = SqlSessionUtil.getSqlSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); userMapper.createTable("t_user"); sqlSession.commit(); sqlSession.close(); } }
위의 툴 클래스인 sqlSession을 통해 가장 중요한 것은 다음 문장입니다.
实体类中的的get/set方法以及构造方法及toString方法就不贴了public class User { private int id; private String name; private int age;
MyBatis는 매퍼 인터페이스를 구현합니다.
동적 프록시를 통해 실행 인터페이스에서 준비하면 쉽게 처리할 수 있습니다.package com.mi.mapper;import org.apache.ibatis.annotations.Param;import com.mi.beans.User;public interface UserMapper {
void createTable (@Param("tableName") String tableName); void add(User user); void del(int id); void update(User user);
User getUser(int id);
User[] list();
}
관련 권장 사항:
mybatis 페이징 플러그인 페이지 헬퍼 인스턴스에 대한 자세한 설명
Oracle은 Mybatis와 결합하여 테이블에서 10개의 데이터를 구현합니다
Spring Boot, Mybatis, Redis는 최신 웹 프로젝트를 빠르게 구축합니다
위 내용은 Mybatis(매퍼 인터페이스 방식) 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!