分享

Play!连接MySQL配置

 用勿龍潛 2012-01-16
最近一个项目用的Struts2,在经过无数遍的重启Tomcat的煎熬后,发现了Play!这个好东东,下来玩了个把钟头。

今天先说说MySQL数据库配置,新建工程后,修改application.conf,测试MySQL配置如下
Java代码 复制代码 收藏代码
  1. db.url=jdbc:mysql://localhost/数据库名称   
  2. db.driver=com.mysql.jdbc.Driver   
  3. db.user=用户名   
  4. db.pass=密码  

然后配置一下JPA
Java代码 复制代码 收藏代码
  1. jpa.dialect=org.hibernate.dialect.MySQLDialect   
  2. jpa.debugSQL=true//在控制台里面可以看到生成的SQL语句  


然后写个Model试试。假设数据库中有个数据表table_news,字段C_ID,C_TITLE。新建News类
Java代码 复制代码 收藏代码
  1. @Entity  
  2. @Table(name = "table_news")   
  3. public class News extends JPASupport {   
  4.     @Id  
  5.     @Column(name="C_ID")   
  6.     private Long cId;   
  7.     @Column(name="C_TITLE")   
  8.     private String cTitle;    
  9.     public String getcTitle() {   
  10.         return cName;   
  11.     }   
  12.     public void setcTitle(String cTitle) {   
  13.         this.cTitle = cTitle;   
  14.     }   
  15.     public Long getId() {   
  16.         return cId;   
  17.     }   
  18.     public void setId(Long id) {   
  19.         cId = id;   
  20.     }   
  21.     public News(Long cId,String cTitle) {   
  22.         this.cId=cId;   
  23.         this.cTitle=cTitle;   
  24.     }   
  25. }  

注意这里和文档例子不同的是不能继承play.db.jpa.Model,而是play.db.jpa.JPASupport,不然
Java代码 复制代码 收藏代码
  1. @Id  
  2.     @Column(name="C_ID")   
  3.     private Long cId;  
这段代码就不能正确起作用,通过控制台的SQL debug输出可以看到,执行的SQL语句会是select id,C_TITLE而不是select C_ID,C_TITLE。
修改一下Application.java测试一下
Java代码 复制代码 收藏代码
  1. public class Application extends Controller {   
  2.    public static void index() {   
  3.         List<News> newsList=News.findAll();   
  4.         for(News news:newsList){   
  5.             System.out.println(news.getcTitle());   
  6.         }   
  7.         render();   
  8.     }   
  9. }  
,在控制台里面就可以看到输出了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多