通义灵码DAO模块代码自动生成DEMO
第一个场景是我们如何实现DAO模块的代码自动生成。右侧是我们写的自定义指令,通过代码化的方式在这里实现了自动访问数据库获取 DP schema 以及 Prompt ,
可以看到左边我们执行了这样的一个自定义指令,
java package com.example.demo.model; import java.utiL.Date; import javax,persistence.Id; Import javax.persistence.Table; import javax.persistence.Transient; import java.io.Serializable; @Table(name ="students") public class Student implements Serializable{ @Id private Integer id; private String name; private int age; private String gender; private int grade; private String email; private Date createdAt; private Date updatedAt; //Getters and Setters publicInteger getId(){return id; } public void setId(Integer id)(this.id =id;}
它就自动的生成了po类、Mapper类以及相关的DAO以及XML MyBatis的增删改查,这都可以进行批量的生成,所以我们通过可能十几行代码就可以比较轻松的来实现这个功能,而且这个具备非常强的扩展性,这是第一个我们通过代码化的方式如何去实现一个自定义指令。
import com.example.demo.model.Student; Import org.springframework.beans.factory.annotatior import org.springframework.stereotype.Repository; import java.util.List; Import java.utiL.Map; @Repository public class StudentDao{ @Autowired private StudentMapper studentMapper; pub1ic int addStudent(Student student){ return studentMapper.insert(student); } publicint updateStudent(Student student){ return studentMapper.update(student); } public int deleteStudentById(Integer id){ return studentMapper.de leteById(id); } public Student getStudentById(Integer id){ return studentMapper.getById(id); } pub1ic List<Student>getStudentsWithPagination( return studentMapper.getA11(offset,1imit); }
这样我们就完成了基本的CRUD操作和分页查询功能的实现。你可以根据实际需求调整这些代码。