MyBatis 시작하기 (7) ---리버스 엔지니어링
1. 리버스 엔지니어링
1.1.개요
mybatis에는 프로그램 번호로 작성된 SQL이 필요합니다.
mybatis는 단일 테이블에 대해 mybatis 실행에 필요한 코드를 자동으로 생성할 수 있는 리버스 엔지니어링을 공식적으로 제공합니다
(mapper, java, maper.xml, po...)
일반적으로 데이터베이스에서 자바 코드까지 생성 과정
2. jar 패키지 가져오기
2.1, mybatis-generator
3 . 구성 xml
3.1, GeneratorConfig.xml
성 java.io.File 가져오기; java.io.IOException 가져오기; java.util.ArrayList 가져오기; java.util.List 가져오기; org.mybatis.generator.api.MyBatisGenerator 가져오기; org.mybatis.generator.config 가져오기 .Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.Exception.XMLParserException;import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap { public void Generator()에서 예외가 발생함{ 五、测试 5.1、测试类 패키지 com.pb.ssm.mapper;import static org.junit.Assert.fail;import java.util.Date;import java.util.List;import javax.crypto.Cipher;import org.junit.Before; import org.junit.Test;import org.springframework.context.applicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.pb.ssm.po.Author;import com.pb.ssm.po.AuthorExample;import com.pb.ssm.po.AuthorExample.Criteria;public class AuthorMapperTest { private ApplicationContext applicationContext; private AuthorMapperauthorMapper; 以上就是MyBatis入门(七)---逆向工程的内容,更多关内容请关注PHP相文网(www.php.cn)!
PUBLIC "-//mybatis.org//DTD MyBatis 생성기 구성 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
사용자 ID = "root" 비밀번호 = "root " & gt;
& jdbcconnect Ion & gt;
및 NUMERIC 유형은 java.math.BigDecimal -->
속성 이름 ="forceBigDecimals" value="false" />
mybatis.po "
targetproject ="& gt;
& lt; prop on; = "TrimStrings" Value = "TRUE" /& gt; & lt;/javamodelgenerator & gt;
& lt;-targetproject: 파일 위치 매핑-& gt;
& lt; sqlmapgenrator targetPackage = "com.pb.mybatis.mapping "
targetProject=".src">
🎜> >
~ ;
4. 자바 프로그램을 실행하여 생성합니다.
4.1, 자바 프로그램
목록
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = 새로운 MyBatisGenerator(config,
콜백, 경고);
myBatisGenerator.generate(null);
}
public static void main(String[] args)에서 예외 발생 { 시도 {
GeneratorSqlmap 생성기Sqlmap = 새로운 GeneratorSqlmap( );
generatorSqlmap.generator();
} catch(예외 e) {
e.printStackTrace();
}
}
@Before public void setUp()에서 예외 발생 {
applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
authorMapper=(AuthorMapper) applicationContext.getBean("authorMapper" );
}
//根据条件查询记录数 @Test public void testCountByExample() {
AuthorExample example=new AuthorExample(); //可以加条件,不加条件默认查询전체부
Criteria criteria=example.createCriteria(); //加条件,介绍不是공적 criteria.andAuthorBioIsNotNull(); int num = authormapper.countbyexample (예); system.out.println ( "num ="+num); }
// 根据 根据@@test public void testdeletebyexample () {> AuthorExample example=new AuthorExample(); //可以加条件,不加条件默认查询전체부
Criteria criteria=example.createCriteria();
criteria.andAuthorUsernameEqualTo("程序员"); int num=authorMapper.deleteByExample(예);
System.out.println("num="+num);
}
//根据主键ID删除 @Test public void testDelet eByPrimaryKey() { int num=authorMapper.deleteByPrimaryKey(18);
System.out.println("num="+num);
} //插入 @Test public void testInsert() {
작성자 author=new Author();
author.setAuthorUsername("再测试一下");
author.setAuthorPassword("admin123");
author.setAuthorEmail("admin1234@QQ.com");
int num=authorMapper.insert(author);
System.out.println("num="+num); //방법이 없습니다. 默认不会把数据库自增加ID返回,如果需要,可以手动增加
System.out.println("插入后的ID"+author.getAuthorI d());
> admin123");
author.setAuthorEmail("admin1234@qq.com");
author.setRegisterTime(new Date());
int num=authorMapper.insert(author);
System.out.println("num="+num); //방법이 없습니다. 默认不会把数据库自增加ID返回,如果需要,可以手动增加
System.out.println("插入后的ID"+author.getAuthorI d());
} //자정 条件查询 @Test public void testSelectByExample() { //声明一个对象
AuthorExampleauthorExample=new AuthorExample(); //创建criteria对象添加条件 및 连接
Criteria terms=authorExample.createCriteria(); //需要手动加%
criteria.andAuthorUsernameLike("%张三%");
목록 list=authorMapper.selectByExample(authorExample);
System.out.println(list.size());
}
//根据主键ID查询 @Test public void testSelectByPrimaryKey() {
작성자 작성자=authorMapper.selectByPrimaryKey(6);
System.out.println(author.getAuthorUsername()+"..."+author.getAuthorBio());
}
@Test public void testUpdateByExampleSelective() {
fail("아직 구현되지 않음");
}
@Test public void testUpdateByExample() {
fail("아직 구현되지 않음");
}
@Test public void testUpdateByPrimaryKeySelective() {
fail("아직 구현되지 않음");
}
@Test public void testUpdateByPrimaryKey() {
실패( "아직 구현되지 않음");
}
}

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











iBatis vs. MyBatis: 무엇을 선택해야 할까요? 소개: Java 언어의 급속한 발전으로 인해 많은 지속성 프레임워크가 등장했습니다. iBatis와 MyBatis는 두 가지 인기 있는 지속성 프레임워크로, 둘 다 간단하고 효율적인 데이터 액세스 솔루션을 제공합니다. 이 기사에서는 iBatis와 MyBatis의 기능과 장점을 소개하고 적절한 프레임워크를 선택하는 데 도움이 되는 몇 가지 특정 코드 예제를 제공합니다. iBatis 소개: iBatis는 오픈 소스 지속성 프레임워크입니다.

MyBatis에서 일괄 삭제 문을 구현하는 여러 가지 방법에는 특정 코드 예제가 필요합니다. 최근 몇 년 동안 데이터 양이 증가함에 따라 일괄 작업이 데이터베이스 작업의 중요한 부분이 되었습니다. 실제 개발에서는 데이터베이스의 레코드를 일괄적으로 삭제해야 하는 경우가 많습니다. 이 기사에서는 MyBatis에서 일괄 삭제 문을 구현하는 여러 가지 방법에 중점을 두고 해당 코드 예제를 제공합니다. 일괄 삭제를 구현하려면 foreach 태그를 사용하세요. MyBatis는 세트를 쉽게 탐색할 수 있는 foreach 태그를 제공합니다.

MyBatis 동적 SQL 태그 해석: Set 태그 사용법에 대한 자세한 설명 MyBatis는 풍부한 동적 SQL 태그를 제공하고 데이터베이스 작업 명령문을 유연하게 구성할 수 있는 탁월한 지속성 계층 프레임워크입니다. 그 중 Set 태그는 업데이트 작업에서 매우 일반적으로 사용되는 UPDATE 문에서 SET 절을 생성하는 데 사용됩니다. 이 기사에서는 MyBatis에서 Set 태그의 사용법을 자세히 설명하고 특정 코드 예제를 통해 해당 기능을 보여줍니다. Set 태그란 무엇입니까? Set 태그는 MyBati에서 사용됩니다.

JPA와 MyBatis: 기능과 성능의 비교 분석 소개: Java 개발에서 지속성 프레임워크는 매우 중요한 역할을 합니다. 일반적인 지속성 프레임워크에는 JPA(JavaPersistenceAPI) 및 MyBatis가 포함됩니다. 이 기사에서는 두 프레임워크의 기능과 성능을 비교 분석하고 구체적인 코드 예제를 제공합니다. 1. 기능 비교: JPA: JPA는 JavaEE의 일부이며 객체 지향 데이터 지속성 솔루션을 제공합니다. 주석 또는 X가 전달되었습니다.

MyBatis 일괄 삭제 문을 사용하는 방법에 대한 자세한 설명에는 특정 코드 예제가 필요합니다. 소개: MyBatis는 풍부한 SQL 작업 기능을 제공하는 뛰어난 지속성 계층 프레임워크입니다. 실제 프로젝트 개발을 하다 보면, 데이터를 일괄적으로 삭제해야 하는 상황이 자주 발생합니다. 이 기사에서는 MyBatis 일괄 삭제 문을 사용하는 방법을 자세히 소개하고 특정 코드 예제를 첨부합니다. 사용 시나리오: 데이터베이스의 많은 양의 데이터를 삭제할 때 삭제 문을 하나씩 실행하는 것은 비효율적입니다. 이때 MyBatis의 일괄삭제 기능을 사용할 수 있습니다.

MyBatis 1차 캐시에 대한 자세한 설명: 데이터 액세스 효율성을 향상시키는 방법은 무엇입니까? 개발 과정에서 효율적인 데이터 액세스는 항상 프로그래머의 초점 중 하나였습니다. MyBatis와 같은 지속성 계층 프레임워크의 경우 캐싱은 데이터 액세스 효율성을 향상시키는 주요 방법 중 하나입니다. MyBatis는 두 가지 캐싱 메커니즘을 제공합니다: 첫 번째 수준 캐시와 두 번째 수준 캐시는 기본적으로 활성화됩니다. 이 기사에서는 MyBatis 1단계 캐시의 메커니즘을 자세히 소개하고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다.

MyBatisGenerator는 MyBatis에서 공식적으로 제공하는 코드 생성 도구로, 개발자가 데이터베이스 테이블 구조에 맞는 JavaBeans, Mapper 인터페이스 및 XML 매핑 파일을 빠르게 생성할 수 있도록 도와줍니다. 코드 생성을 위해 MyBatisGenerator를 사용하는 과정에서 구성 매개변수 설정이 중요합니다. 이 글은 구성 매개변수의 관점에서 시작하여 MyBatisGenerator의 기능을 깊이 탐구할 것입니다.

MyBatis 캐싱 메커니즘 분석: 1단계 캐시와 2단계 캐시의 차이점 및 적용 MyBatis 프레임워크에서 캐싱은 데이터베이스 작업 성능을 효과적으로 향상시킬 수 있는 매우 중요한 기능입니다. 그중 1단계 캐시와 2단계 캐시는 MyBatis에서 일반적으로 사용되는 두 가지 캐싱 메커니즘입니다. 이 기사에서는 1차 수준 캐시와 2차 수준 캐시의 차이점과 적용을 자세히 분석하고 설명할 구체적인 코드 예제를 제공합니다. 1. 레벨 1 캐시 레벨 1 캐시는 로컬 캐시라고도 하며 기본적으로 활성화되어 있으며 끌 수 없습니다. 첫 번째 수준 캐시는 SqlSes입니다.
