>Java >java지도 시간 >MyBatis 시작하기 (7) ---리버스 엔지니어링

MyBatis 시작하기 (7) ---리버스 엔지니어링

黄舟
黄舟원래의
2016-12-21 14:37:361537검색

1. 리버스 엔지니어링

1.1.개요

mybatis에는 프로그램 번호로 작성된 SQL이 필요합니다.

mybatis는 단일 테이블에 대해 mybatis 실행에 필요한 코드를 자동으로 생성할 수 있는 리버스 엔지니어링을 공식적으로 제공합니다

(mapper, java, maper.xml, po...)

일반적으로 데이터베이스에서 자바 코드까지 생성 과정

2. jar 패키지 가져오기

2.1, mybatis-generator

MyBatis 시작하기 (7) ---리버스 엔지니어링

3 . 구성 xml

3.1, GeneratorConfig.xml


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; & lt;!- 기본값은 false이며 JDBC DECIMAL 및 NUMERIC 유형은 정수로 구문 분석됩니다. true인 경우 JDBC DECIMAL
및 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">
🎜>                                                                                                                      >
targetPackage="com.pb.mybatis.mapper" targetProject=".src">
                                               ~                                                                ;
       


                                                                               







4. 자바 프로그램을 실행하여 생성합니다.

4.1, 자바 프로그램


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()에서 예외가 발생함{

       목록 warnings = new ArrayList();        부울 덮어쓰기 = true;        //결정 逆向工程配置文件
       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();
       }
       
   }


MyBatis 시작하기 (7) ---리버스 엔지니어링

五、测试

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;

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

}

 以上就是MyBatis入门(七)---逆向工程的内容,更多关内容请关注PHP相文网(www.php.cn)! 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.