Hoyi 与单数据库的读写(hoyi入门系列文章二)
2018-02-27 16:12
387 查看
Hoyi 与单数据库的读写 (hoyi入门系列文章二)
1.下载Hoyi ER Tool并生成实体类
设计实体并使用hoyi er tool 生成实体。详细可查看 "Hoyi ER TOOL生成实体与web页面 "http://mp.blog.csdn.net/postedit/79374773
2.配置相关
在config文件夹里面新建jdbc.properties 增加对数据库的支持。jdbc.properties的内容如下:jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://127.0.0.1:3306/hoyidemo?useUnicode=true&characterEncoding=utf-8 // 数据库连接地址
jdbc_username=root //改为对应数据库的账号
jdbc_password=root //改为对应数据库的密码
注意:这是单数据库连接方式。
继续使用我们入门系列文章一的hoyidemo工程。在工程的WebRoot目录下新建demo2包,并建controller和entity包
将"Hoyi ER TOOL生成实体与web页面" 文章生成的user类拷贝到 entity包里。并在controller包里新建UserController类
3.编写逻辑
1.增加用户在UserController 里面增加方法@RequestMode(MODE = { RequestType.GET, RequestType.POST })
@PostParam(ENTITY = user.class)
public void addUser() {
// hoyi 语法
user u = this.getModelFromReq(user.class);
int result = u.Insert();
this.WriteUTF8JSONDATAMSG(1, "success", 0);
}
u.Insert();是hoyi的语法,也可以使用sql语句
String sql = "insert into user (username,sex,note) values (?,?,?)";
String[] params = {u.getUsername(),u.getSex(),u.getNote()};
int result = DataBaseCluster.Get_WRITE_SERVER().execUpdateEx(sql, params);
测试,访问 http://localhost:8085/hoyidemo/demo2/controller/UserController.html?behavior=addUser&username=xiaoming&sex=1¬e=nothing ,在数据库增加了一条数据则证明正确。
2.查询用户 @RequestMode(MODE = { RequestType.GET, RequestType.POST })
public void findUser() {
// hoyi 语法
String id = this.getParams("id");
user u = user.E().Where(user.id.Equals(id)).First();
this.WriteUTF8JSONDATAMSG(1, "success", u);
}
测试访问http://localhost:8085/hoyidemo/demo2/controller/UserController.html?behavior=findUser&id=1,可以在页面看到该用户。
3.有些场景数据库的更新需要使用到事务。在hoyi里事务的操作如下: /**
* 增(事务操作)
*/
@RequestMode(MODE = { RequestType.GET, RequestType.POST })
public void insertTransaction() {
user u1 = new user("u1", "1", "note");
user u2 = new user("u2", "1", "note");
IDatabase database = DataBaseCluster.Get_Transaction_WRITE_SERVER();
database.InitAndOpenTransaction();
try {
u1.Insert(database);
int t = 1/0; //设置一个异常,
u2.Insert(database);
database.Commit();
} catch (Exception e) {
// TODO Auto-generated catch block
database.RollBackTransaction(); //捕获异常,回滚
e.printStackTrace();
} finally {
database.CloseConnection(); //关闭连接
}
}
相关文章推荐
- Hoyi 与数据库分区的读写 (hoyi入门系列文章五)
- Hoyi 与数据库集群的读写(hoyi入门系列文章三)
- Hoyi 与Redis的读写(hoyi入门系列文章四)
- Hoyi 与mongodb的读写(hoyi入门系列文章六)
- Hoyi快速集成(hoyi入门系列文章一)
- MySQL---数据库从入门走向大神系列(九)-用Java向数据库读写大文本/二进制文件数据
- 收集的RxJava 2.x入门教程系列专栏,文章链接
- python入门系列文章
- MySQL 数据库性能优化之索引优化(这是 MySQL数据库性能优化专题 系列的第三篇文章)
- 数据库Sharding的基本思想和切分策略的系列文章
- NLog文章系列——入门教程(中)
- .NET RIA Service入门系列文章二:建立数据库
- 精通数据库系列之入门-技巧篇4
- “.NET 4.0网络开发入门之旅系列文章”我在“网” 中央(上)
- 数据库性能调优技术系列文章(1)--索引调优(摘自老杨)
- 系列文章--ASP.NET之AJAX入门教程
- Android 入门系列文章
- MySQL 数据库性能优化之表结构优化(这是 MySQL数据库性能优化专题 系列的第二篇文章)