我想要实现自动化的rest api。自动读取mysql的字段,然后根据mysql的表格创建实体类,然后生成对应的服务层和控制层。
这是我的springboot项目目录
service和controller层是我自己根据固定的mysql表格items写的rest api,是可以执行的。
其中,Generator是我用来自动读取mysql里面的字段,并自动在model包下创建该表对象为java类,其中实体类的文件名就是mysql的表格名。测试是可以成功执行的。
下面是我的想法和启动项,我想先执行exe,也就是我Generator的自动创建实体类。
然后再运行我的springboot
public class Application {
public static void main(String[] args) throws Exception {
exe();
SpringApplication.run(Application.class, args);
}
private static void exe() throws Exception {
Generator.main(new String[]{});
}
}
我原先写了一个service层如下,其中的items实体类是我自己先在controller层手动创建的。
@Service
@Component
public class itemsService {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<items> getList(){
String sql = "SELECT * FROM items";
List<items> result = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(items.class));
return result;
}
public items getListById(Integer id){
String sql = "SELECT * FROM items where id = ?";
items book=jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<items>(items.class),id);
return book;
}
public int addItem(items newUser) {
String sql = "INSERT INTO items(id,name,description, price, duration)values(?,?,?,?,?)";
return jdbcTemplate.update(sql, newUser.getId(), newUser.getName(), newUser.getDescription(),newUser.getPrice(),newUser.getDuration());
}
public int addItems(List<items> newUser) {
int insertedCount = 0;
String sql = "INSERT INTO items(id,name,description, price, duration)values(?,?,?,?,?)";
for (items item : newUser){
int update = jdbcTemplate.update(sql, item.getId(), item.getName(), item.getDescription(), item.getPrice(), item.getDuration());
insertedCount += update;
}
return insertedCount;
}
public int deleteItemsById(Integer id) {
String sql = "delete from items where id = ?";
return jdbcTemplate.update(sql, id);
}
public int updateItemsById(Integer id1,items items) {
String sql = "update items set id = ?, name = ? , description = ? , price =? , duration =? where id = ?";
return jdbcTemplate.update(sql, items.getId(),items.getName(), items.getDescription(),items.getPrice(),items.getDuration(),id1);
}
}
请问现在要怎么才能让程序运行之后,服务层自动的去获取到Generator创建的实体类,并且实现上面的增删查改功能呢?
因为在运行exe前,实体类还没创建,我不知道代码该怎么写
请问我的service层的代码要怎么修改呢?
或者我的方法哪里有问题可以改进的地方吗?