代码生成和crud
代码生成
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
找个地方写生成器AutoGenerator,由四部分组成
- GlobalConfig 目录
- DataSourceConfig 数据源
- PackageConfig 包名及位置
- StrategyConfig dao对应的表
public class Generator {
public static void main(String[] args) {
// 代码生成器对象
AutoGenerator generator = new AutoGenerator();
// 配置策略
GlobalConfig gc = new GlobalConfig();
String path = System.getProperty("user.dir");//获取用户目录
gc.setOutputDir(path+"/src/main/java");//设置输出目录
generator.setGlobalConfig(gc);
// 数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setDbType(DbType.MYSQL);
generator.setDataSource(dataSourceConfig);
// 包的配置
PackageConfig packageConfig = new PackageConfig();
// packageConfig.setModuleName("chen"); // 文件名
packageConfig.setParent("com.example.mbplus");// 父目录
packageConfig.setEntity("entity");// 四个文件夹
packageConfig.setController("controller");
packageConfig.setMapper("mapper");
packageConfig.setService("service");
generator.setPackageInfo(packageConfig);
// 策略
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user");//要映射 的表名
strategyConfig.setEntityLombokModel(true);//lombok
generator.setStrategy(strategyConfig);
// 执行
generator.execute();
}
}
生成后,springboot启动器记得加注释@MapperScan(“com.example.mbplus.mapper”)
crud
传入的可以是
- 某个属性值
- collection
- map,map的每一个键值对代表一个属性值
举例
@SpringBootTest
class MbPlusApplicationTests {
@Autowired
UserMapper userMapper;
@Test
void query() {
//查询全部
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
//
}
@Test
void add(){
User user = new User();
user.setUsername("chen");
user.setPassword("123");
user.setPerm("pem");
userMapper.insert(user);
}
}