最近一個(gè)項(xiàng)目用的Struts2,在經(jīng)過(guò)無(wú)數(shù)遍的重啟Tomcat的煎熬后,發(fā)現(xiàn)了Play!這個(gè)好東東,下來(lái)玩了個(gè)把鐘頭。
今天先說(shuō)說(shuō)MySQL數(shù)據(jù)庫(kù)配置,新建工程后,修改application.conf,測(cè)試MySQL配置如下
- db.url=jdbc:mysql:
- db.driver=com.mysql.jdbc.Driver
- db.user=用戶名
- db.pass=密碼
然后配置一下JPA
- jpa.dialect=org.hibernate.dialect.MySQLDialect
- jpa.debugSQL=true
然后寫個(gè)Model試試。假設(shè)數(shù)據(jù)庫(kù)中有個(gè)數(shù)據(jù)表table_news,字段C_ID,C_TITLE。新建News類
- @Entity
- @Table(name = "table_news")
- public class News extends JPASupport {
- @Id
- @Column(name="C_ID")
- private Long cId;
- @Column(name="C_TITLE")
- private String cTitle;
- public String getcTitle() {
- return cName;
- }
- public void setcTitle(String cTitle) {
- this.cTitle = cTitle;
- }
- public Long getId() {
- return cId;
- }
- public void setId(Long id) {
- cId = id;
- }
- public News(Long cId,String cTitle) {
- this.cId=cId;
- this.cTitle=cTitle;
- }
- }
注意這里和文檔例子不同的是不能繼承play.db.jpa.Model,而是play.db.jpa.JPASupport,不然
- @Id
- @Column(name="C_ID")
- private Long cId;
這段代碼就不能正確起作用,通過(guò)控制臺(tái)的SQL debug輸出可以看到,執(zhí)行的SQL語(yǔ)句會(huì)是select id,C_TITLE而不是select C_ID,C_TITLE。
修改一下Application.java測(cè)試一下
- public class Application extends Controller {
- public static void index() {
- List<News> newsList=News.findAll();
- for(News news:newsList){
- System.out.println(news.getcTitle());
- }
- render();
- }
- }
,在控制臺(tái)里面就可以看到輸出了。