Mybatis-逆向工程

1.逆向工程

用来生成po类

需要注意的是逆向工程生成的文件是追加的,所以生成下一个项目的同事就必须把上一次 的给删除掉。

2.搭建步骤:

①引入jar包

Mybatis-逆向工程_第1张图片

②新建一个generator.xml  同时修改相应的包名 (cn.frame.pojo)





	
		
			
			
		
		
		
		
		

		
		
			
		

		
		
			
			
			
			
		
        
		
			
			
		
		
		
			
			
		
		

		

③src下新建class  StartServer

package generator0608;

import java.io.File;
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.internal.DefaultShellCallback;

public class StartServer {
	
	public void generator() throws Exception{
		List warnings = new ArrayList();
		boolean overwrite = true;
		File configFile = new File("genarator.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 {
			StartServer startServer = new StartServer();
			startServer.generator();
		} catch (Exception e) {
			e.printStackTrace();
		}
}

}

④运行startServer并且刷新项目才可以看见:

沒有运行之前包结构:

Mybatis-逆向工程_第2张图片

运行后的包结构:

Mybatis-逆向工程_第3张图片

⑤自己编写的工程:
Mybatis-逆向工程_第4张图片

这样就可以把生成的目录结构直接粘贴 过来就可以用了。

⑥注意:

Mybatis-逆向工程_第5张图片

这里的OrdersExample是各种表里的复杂的查询条件做的一个封装。

⑦把pojo和mapper粘贴过来后就可以使用;

测试UserMapperTest:
 

package cn.frame.test;

import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.itheima.mapper.UserMapper;
import cn.itheima.pojo.User;
import cn.itheima.pojo.UserExample;
import cn.itheima.pojo.UserExample.Criteria;
import javassist.compiler.ast.Symbol;

public class UserMapperTest {
	private ApplicationContext applicatonContext;
	
	@Before
	public void setUp() throws Exception{
		String configLocation = "classpath:ApplicationContext.xml";
		applicatonContext = new ClassPathXmlApplicationContext(configLocation);
	}
	
//	@Test
//	public void  testFindUserById() throws Exception{
//		UserMapper userMapper = (UserMapper)applicatonContext.getBean("userMapper");
//		
//		User user = userMapper.findUserById(1);
//		System.out.println(user);
//	}
	
	@Test
	public void testFindUserById() throws Exception{
		UserMapper userMapper = (UserMapper)applicatonContext.getBean("userMapper");
		
		User user = userMapper.selectByPrimaryKey(1);
		System.out.println(user);
	}
	
	@Test
	public void testFindUserAndSex() throws Exception{
		UserMapper userMapper = (UserMapper)applicatonContext.getBean("userMapper");
		
		//创建UserExample对象
		UserExample userExample = new UserExample();
		//通过UserExample对象创建查询条件封装对象(Criteria中是封装的查询条件)
		Criteria createCriteria = userExample.createCriteria();
		
		//加入查询条件
		createCriteria.andUsernameLike("%王%");
		createCriteria.andSexEqualTo("1");
		
		List list = userMapper.selectByExample(userExample);
		System.out.println(list);
	}
}

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(框架)