Play Framework jpa MySQL整合
2015-11-06 16:30
453 查看
最近一个项目用的Struts2,在经过无数遍的重启Tomcat的煎熬后,发现了Play!这个好东东,下来玩了个把钟头。
今天先说说MySQL数据库配置,新建工程后,修改application.conf,测试MySQL配置如下
Java代码
db.url=jdbc:mysql://localhost/数据库名称
db.driver=com.mysql.jdbc.Driver
db.user=用户名
db.pass=密码
然后配置一下JPA
Java代码
jpa.dialect=org.hibernate.dialect.MySQLDialect
jpa.debugSQL=true//在控制台里面可以看到生成的SQL语句
然后写个Model试试。假设数据库中有个数据表table_news,字段C_ID,C_TITLE。新建News类
Java代码
@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,不然
Java代码
@Id
@Column(name="C_ID")
private Long cId;
这段代码就不能正确起作用,通过控制台的SQL debug输出可以看到,执行的SQL语句会是select id,C_TITLE而不是select C_ID,C_TITLE。
修改一下Application.java测试一下
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();
}
}
,在控制台里面就可以看到输出了。
今天先说说MySQL数据库配置,新建工程后,修改application.conf,测试MySQL配置如下
Java代码
db.url=jdbc:mysql://localhost/数据库名称
db.driver=com.mysql.jdbc.Driver
db.user=用户名
db.pass=密码
然后配置一下JPA
Java代码
jpa.dialect=org.hibernate.dialect.MySQLDialect
jpa.debugSQL=true//在控制台里面可以看到生成的SQL语句
然后写个Model试试。假设数据库中有个数据表table_news,字段C_ID,C_TITLE。新建News类
Java代码
@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,不然
Java代码
@Id
@Column(name="C_ID")
private Long cId;
这段代码就不能正确起作用,通过控制台的SQL debug输出可以看到,执行的SQL语句会是select id,C_TITLE而不是select C_ID,C_TITLE。
修改一下Application.java测试一下
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();
}
}
,在控制台里面就可以看到输出了。
相关文章推荐
- mysql5.7.9 源码安装
- mysql5.6 下载地址
- Windows环境下mysql自动备份
- MySQL general log、slow log配置及管理
- 防止人为误操作MySQL数据库技巧
- scala+play2.2.2+slick2.0.2 + mysql5.0整合之一---基础环境搭建篇
- mysql update中需要根据条件列更新写法update case
- mysql简单建表
- mysql 转orecle 需要考虑的问题
- mysql 卸载
- 修改MySQL字符集
- Play framework 2.x 连接mysql
- cmake 安装 mysql5.5 版本
- 如何使用playframework连接MySQL数据库
- MySql自定义函数
- MySql中的存储过程
- MYSQL中replace into的用法
- mysql 数据库备份与还原
- MySQL -- 触发器
- 推送数据到mysql乱码,对方是lantin