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() {
실패( "아직 구현되지 않음");
}
}