最近一个项目用的Struts2,在经过无数遍的重启Tomcat的煎熬后,发现了Play!这个好东东,下来玩了个把钟头。
今天先说说MySQL数据库配置,新建工程后,修改application.conf,测试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
然后写个Model试试。假设数据库中有个数据表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;
这段代码就不能正确起作用,通过控制台的SQL debug输出可以看到,执行的SQL语句会是select id,C_TITLE而不是select C_ID,C_TITLE。
修改一下Application.java测试一下
- public class Application extends Controller {
- public static void index() {
- List<News> newsList=News.findAll();
- for(News news:newsList){
- System.out.println(news.getcTitle());
- }
- render();
- }
- }
,在控制台里面就可以看到输出了。