表结构
CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`userid` varchar(25) NOT NULL default '',
`username` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `userid` (`userid`),
UNIQUE KEY `username` (`username`)
) TYPE=MyISAM
映射的Java对象
package org.jute.forum;
import org.jute.dbo.DBObject;
import org.jute.dbo.DBOHome;
import org.jute.dbo.DBOConstant;
public class Test extends DBObject {
private int id;
private String userid;
private String username;
public DBOHome getHome() {
return TestHome.getInstance();
}
public Test() {
}
public String getOIDMethod() {
return DBOConstant.AUTOINCREMENT_ID_METHOAD;
}
public String getPrimaryKey() {
return "id";
}
public String getTable() {
return "TEST";
}
public String getUserid() {
return userid;
}
public String getUsername() {
return username;
}
public void setUserid(String userid) {
this.userid = userid;
}
public void setUsername(String username) {
this.username = username;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
映射Java对象的商务方法集
package org.jute.forum;
import org.jute.dbo.DBOHome;
public class TestHome extends DBOHome {
protected transient static TestHome home = new TestHome() ;
public static DBOHome getInstance() {
return home;
}
public String getDatabase() {
return "default";
}
public static int countAll() {
return home.getIntFieldValue("SELECT count FROM TEST");
}
public static Vector getAll() {
return home.getDBObjectList("SELECT * FROM TEST",0,-1,Test.class);
}
public static Test findByPrimaryKey(int id) {
return (Test) home.getDBObject("SELECT * FROM TEST WHERE id="+id,Test.class);
}
...
}
在Servlet里调用
public class TestServlet extends BaseServlet {
public String baseAction(Context context, CGI cgi) {
try {
Test test = new Test();
test.setUserid("userid"+Math.random());
test.setUsername("username"+Math.random());
test.insert();
System.out.println("test.getId(): "+test.getId());
test.setUsername("hello"+Math.random());
test.update();
test.delete();
System.out.println("TestHome.countAll(): "+TestHome.countAll());
}
catch (Exception ex) {
ex.printStackTrace();
}
return "test.vm";
}
public String getRealmName() {
return "jute";
}
}