时间:2021-07-01 10:21:17 帮助过:3人阅读
上述代码保存后,插件就会自动生成一个DTO类:test.result.UserBlogs, 并自动将方法修改成如下的声明:
public List<UserBlogs> selectUserBlogs(int user_id){
...
return q.getList(UserBlogs.class);
}
当然,如果对selectUserBlogs方法做了任何的修改(包括只是加了一个空格),保存文件后,插件也会自动更新UserBlogs。
同时,为了方便我们调试,插件也会在Eclipse的控制台窗口输出类似下面的信息:
2016-06-27 17:00:31 [I] ****** Starting generate result classes from: test.dao.UserBlogDao ******
2016-06-27 17:00:31 [I] Create class: test.result.UserBlogs, from: [selectUserBlogs(int)]
SELECT a.id,a.name,b.title, b.content,b.create_time
FROM user a, blog b
WHERE a.id=b.user_id AND a.id=0
顺便补充一下:
在Java代码中书写SQL,非常令人讨厌的一件事情就是Java语言中字符串的连接问题。使得大段的SQL代码中间要插很多的换行/转义符号,写起来很麻烦,看着也不舒服。monalisa-eclipse插件顺便也解决了多行字符串的书写问题。
例如:
System.out.println(""/**~{
SELECT *
FROM user
WHERE name="zzg"
}*/);
将会输出:
SELECT *
FROM user
WHERE name="zzg"
当然,为了快速书写,可以在Eclipse中把多行字符串的语法设置为一个代码模板。关于多行语法的更多细节可以参考: https://github.com/11039850/monalisa-db/wiki/Multiple-line-syntax
到这里,动态SQL代码自动生成DTO的思路和实现例子基本上就介绍完了, 欢迎大家提出各种有理无理的意见,一起讨论、进步,谢谢!
如何根据动态SQL代码自动生成DTO
标签: