逆向工程:
作用: mybatis官方推出逆向工程, 通过逆向工程可以连接数据库的表, 通过表结构自动生成pojo,和单表的增删改查的dao
注意: mybatis逆向工程生成文件的方式是追加, 也就是生成一遍后, 再次运行生成则又会在原有文件上追加一遍生成的代码,
但是追加完的代码是不可见的, 导致生成的文件损坏, 使用这样的文件会造成无法运行.
所以如果向重新生成需要将以前生成的所有东西删除干净后再次生成.
File->open->generator->NewWindow
利用反向工程generatorSqlmapCustom实现实体类与数据访问层代码的自动生成
如何测试?
在service-sellergoods->src_>test->java->右键标记成java测试文件夹
在java下创建cn.itcast.core.test包的TestBrandDao.java类
package cn.itcast.core.test;
import cn.itcast.core.dao.good.BrandDao;
import cn.itcast.core.pojo.good.Brand;
import cn.itcast.core.pojo.good.BrandQuery;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
//加载spring测试环境
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:spring/applicationContext*.xml"})
public class TestBrandDao {
@Autowired
private BrandDao brandDao;
@Test
public void testFindById() {
Brand brand = brandDao.selectByPrimaryKey(1L);
System.out.println("======" + brand);
}
@Test
public void testByQuery() {
//1. 创建查询对象
BrandQuery query = new BrandQuery();
//设置排序
query.setOrderByClause("id desc");
//开启去重
query.setDistinct(true);
//设置需要查询出来的字段
//query.setFields("id, name");
//2. 创建where条件查询对象
BrandQuery.Criteria criteria = query.createCriteria();
//根据名称模糊查询
criteria.andNameLike("%华%");
//查询并返回结果
List<Brand> brands = brandDao.selectByExample(query);
System.out.println("=======" + brands);
}
}