Mybatis逆向工程生成pojo、mapper.java和mapper.xml

Mybatis的逆向工程可以在设计好数据库表的基础上,通过java程序,生成pojo、mapper、和mapper.xml

生成了mapper.xml可满足大部门的增删改查的接口和方法。

在Service中可直接掉用mapper.java中的方法操作数据库。

步骤:

1. 在eclipse中new一个普通的project.

2. 导包

Mybatis逆向工程生成pojo、mapper.java和mapper.xml_第1张图片


3. 数据库表

CREATE TABLE `items` (
  `items_id` int(11) NOT NULL AUTO_INCREMENT,
  `items_name` varchar(32) NOT NULL COMMENT '商品名称',
  `items_price` float(10,1) NOT NULL COMMENT '商品定价',
  `items_detail` text COMMENT '商品描述',
  `items_pic` varchar(64) DEFAULT NULL COMMENT '商品图片',
  `items_createtime` datetime NOT NULL COMMENT '生产日期',
  PRIMARY KEY (`items_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8

4. 编写generatorConfig.xml,打开官方下载的docs文件夹,打开index.html,里面有详细的介绍和生成方法

在这里使用xml和java程序的方式。参照Running MyBatis和XML Configuration File Reference就可以完成这个Java程序。

Mybatis逆向工程生成pojo、mapper.java和mapper.xml_第2张图片


generatorConfig.xml





	
		
			
			
		
		
		
		

		
		
			
		

		
		
			
			
			
			
		
        
		
			
		
		
		
			
		
		
		
		
		

主要是三个地方:(其他地方不用管)

      数据库连接信息;

      生成的pojo包名和生产的mapper包名

      要生成的数据库名称和表名

5. 新建一个class(GeneratorSqlmap.class), 包含Main方法。里面的代码也是官方文档Ctrl+c过来。主要修改配置的src/generatorConfig.xml的位置和名字。

GeneratorSqlmap.class

package com.plin.mybatis_generator_main;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import 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() throws Exception{

			List warnings = new ArrayList();
			boolean overwrite = true;
			//指定 逆向工程配置文件
			File configFile = new File("src/generatorConfig.xml"); 
			ConfigurationParser cp = new ConfigurationParser(warnings);
			Configuration config = cp.parseConfiguration(configFile);
			DefaultShellCallback callback = new DefaultShellCallback(overwrite);
			MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
					callback, warnings);
			myBatisGenerator.generate(null);

		} 
		public static void main(String[] args) throws Exception {
			try {
				GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
				generatorSqlmap.generator();
			} catch (Exception e) {
				e.printStackTrace();
			}
			
		}
}

6. 运行这个程序。自动生成包、pojo、mapper.java、mapper.xml。


Mybatis逆向工程生成pojo、mapper.java和mapper.xml_第3张图片

7. 使用生成的包和测试 

    将mapper包和po包直接拷贝到需要工程的src下。注意拷贝后查看Mapper的Namespace,要与原来的Spring配置文件一致,否则会出现mapper的namespace错误,期望的namespace和实际的namespace不一致,因为namespace是根据包名和类名来生成的。建议在生成的java程序中,就将包名设置为项目实际的包名。

关于Maven和spring,MyBatis整合参考我另一篇文章:Spring Boot和Maven 整合Mybatis项目

Mybatis逆向工程生成pojo、mapper.java和mapper.xml_第4张图片

测试一个程序:

@Test
	public void testSelectByExample() {
		ItemsExample itemsExample = new ItemsExample();
		Criteria criteria = itemsExample.createCriteria();
		criteria.andItemsNameEqualTo("水杯");
		criteria.andItemsIdEqualTo(3);
		List list= (List) itemsMapper.selectByExample(itemsExample);
		System.out.println(list);
	}

运行结果

Mybatis逆向工程生成pojo、mapper.java和mapper.xml_第5张图片



你可能感兴趣的:(Maven,spring,boot,JavaWeb)