`
huangtiancheng
  • 浏览: 10928 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

Play!连接MySQL配置

    博客分类:
  • Play
阅读更多
最近一个项目用的Struts2,在经过无数遍的重启Tomcat的煎熬后,发现了Play!这个好东东,下来玩了个把钟头。

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

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


然后写个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();
    }
}
,在控制台里面就可以看到输出了。
分享到:
评论
2 楼 baobaolx 2014-12-10  
play 2.1.5 没有那个 play.db.jpa.JPASupport 呢
1 楼 lord_is_layuping 2013-10-10  

相关推荐

Global site tag (gtag.js) - Google Analytics