daoexample.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 278 行
JAVA
278 行
package Jt.examples;
import Jt.*;
import Jt.DAO.JtDAOAdapter;
import java.util.*;
import java.io.*;
/**
* Data Access Object (DAO) example. This subclass of JtDAO contains the
* attributes to be mapped to database columns.
*/
public class DAOExample extends JtDAO {
public static final String JtCLASS_NAME = DAOExample.class.getName();
private static final long serialVersionUID = 1L;
private String email;
private String name;
private int status;
private Date tstamp;
private boolean booleanv;
public DAOExample () {
}
public int getStatus () {
return (status);
}
public void setStatus (int newStatus) {
status = newStatus;
}
public boolean getBooleanv () {
return (booleanv);
}
public void setBooleanv (boolean booleanv) {
this.booleanv = booleanv;
}
public String getEmail() {
return email;
}
public void setEmail (String newEmail) {
email = newEmail;
}
public void setName (String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setTstamp (Date tstamp) {
this.tstamp = tstamp;
}
public Date getTstamp () {
return tstamp;
}
// ConfigFileExist - Verify if the configuration
// file exists
/*
private boolean configFileExists (String configFile) {
String fname;
File file;
//fname = (String) getValue (this, configFile);
fname = configFile;
if (fname == null)
return false;
file = new File (fname);
return (file.exists ());
}
*/
public void realizeObject () {
JtMessage msg;
msg = new JtMessage ();
// Set attribute/column mappings
if (getValue (this, "configFile") != null)
return;
// Use the following fallback mappings (attribute/column)
// if the config file is not present
handleWarning ("DAOExample: config file (DAOExample.xml) not found.");
handleWarning ("DAOExample: fallback mappings will be used.");
setValue (msg, "msgContent", "status");
setValue (msg, "msgData", "status");
setValue (msg, "msgId", JtDAOAdapter.JtMAP_ATTRIBUTE);
sendMessage (this, msg);
setValue (msg, "msgContent", "email");
setValue (msg, "msgData", "email");
sendMessage (this, msg);
setValue (msg, "msgContent", "name");
setValue (msg, "msgData", "name");
sendMessage (this, msg);
setValue (msg, "msgContent", "tstamp");
setValue (msg, "msgData", "tstamp");
sendMessage (this, msg);
setValue (msg, "msgContent", "booleanv");
setValue (msg, "msgData", "booleanv");
sendMessage (this, msg);
}
// processMessageEvent: process messages
public Object processMessage (Object event) {
//String content;
//String query;
JtMessage e = (JtMessage) event;
if (e == null || (e.getMsgId() == null)) {
handleError ("processMessage:invalid message:" +
e);
return (null);
}
// Let the superclass handle all the messages
if (e.getMsgId().equals(JtObject.JtREALIZE)) {
super.processMessage (new JtMessage (JtObject.JtREALIZE));
realizeObject ();
return (null);
}
return (super.processMessage (event));
}
// Test program
public static void main(String[] args) {
JtObject main = new JtObject ();
JtMessage msg = new JtMessage ();
//Date date = new Date ();
DAOExample tmp, member;
Exception ex;
//Object tmp1;
File file;
// Create DAO object
member = (DAOExample) main.createObject (DAOExample.JtCLASS_NAME, "member");
// Set database key and table
main.setValue (member, "key", "email");
main.setValue (member, "table", "members");
file = new File ("DAOExample.xml");
if (file.exists ())
main.setValue (member, "configFile", "DAOExample.xml");
// Realize object
//main.setValue (msg, "msgId", "JtREALIZE");
main.sendMessage (member, new JtMessage (JtObject.JtREALIZE));
// Set JDBC driver and url
member.setValue ("db", "driver", "com.mysql.jdbc.Driver");
member.setValue ("db", "url", "jdbc:mysql://localhost/test");
member.setValue ("db", "user", "root");
member.setValue ("db", "password", "123456");
// Set Object attributes
main.setValue (member, "email", "user@freedom.com");
main.setValue (member, "name", "John Dow");
main.setValue (member, "tstamp", new Date ());
main.setValue (member, "status", "2005");
main.setValue (member, "booleanv", "true");
// Insert object (object is added to the database)
tmp = (DAOExample) main.sendMessage (member, new JtMessage (JtDAOAdapter.JtCREATE));
if (tmp == null) {
System.out.println ("JtCREATE: FAIL");
} else {
System.out.println ("JtCREATE: PASS");
}
main.setValue (member, "email", "user@freedom.com");
main.setValue (member, "key", "email");
main.setValue (member, "table", "members");
// Find object
tmp = (DAOExample) main.sendMessage (member, new JtMessage (JtDAOAdapter.JtREAD));
if (tmp != null)
System.out.println ("JtREAD: PASS");
else
System.out.println ("JtREAD: FAIL");
main.sendMessage (member, new JtMessage (JtObject.JtPRINT));
main.setValue (member, "status", "2006");
main.setValue (member, "name", "Jane Dow");
main.setValue (member, "booleanv", "false");
// Update object
tmp = (DAOExample) main.sendMessage (member, new JtMessage (JtDAOAdapter.JtUPDATE));
if (tmp == null){
System.out.println ("JtUPDATE: FAIL");
} else {
System.out.println ("JtUPDATE: PASS");
}
main.setValue (member, "email", "user@freedom.com");
main.setValue (msg, "msgId", JtDAOAdapter.JtREAD);
tmp = (DAOExample) main.sendMessage (member, msg);
ex = (Exception) main.getValue (member, "objException");
if (ex != null) {
System.out.println ("JtREAD: FAIL");
} else
if (tmp == null)
System.out.println ("JtREAD: FAIL");
main.sendMessage (member, new JtMessage (JtObject.JtPRINT));
main.setValue (member, "email", "user@freedom.com");
// Delete object
tmp = (DAOExample) main.sendMessage (member, new JtMessage (JtDAOAdapter.JtDELETE));
if (tmp == null){
System.out.println ("JtDELETE: FAIL");
} else {
System.out.println ("JtDELETE: PASS");
}
// Remove the DAO. This closes the database connection
main.sendMessage (member, new JtMessage (JtObject.JtREMOVE));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?