diff --git a/src/main/java/com/fr/demo/NewReadFrmFromDatabase.java b/src/main/java/com/fr/demo/NewReadFrmFromDatabase.java new file mode 100644 index 0000000..8186fe9 --- /dev/null +++ b/src/main/java/com/fr/demo/NewReadFrmFromDatabase.java @@ -0,0 +1,70 @@ +package com.fr.demo; + +import com.fr.data.core.db.DBUtils; +import com.fr.web.weblet.DBFormlet; +import com.fr.form.main.Form; +import java.sql.SQLException; +import javax.servlet.http.HttpServletRequest; +import com.fr.log.FineLoggerFactory; +import java.io.InputStream; +import java.sql.Blob; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Map; + + + +public class NewReadFrmFromDatabase extends DBFormlet { + + @Override + public Form createForm(HttpServletRequest reportletRequest) { + String name = reportletRequest.getParameter("reportname"); + return createForm(name); + } + + @Override + public Form createForm(String reportName) { + Form form = new Form(); + Connection connection = null; + try { + connection = getConnection(); + // 从数据库中读模板 + String sql = "select frm from report where frmname = '" + reportName + + "'"; + Statement smt = connection.createStatement(); + ResultSet rs = smt.executeQuery(sql); + while (rs.next()) { + Blob blob = rs.getBlob(1); + FineLoggerFactory.getLogger().info(blob.toString()); + InputStream ins = blob.getBinaryStream(); + form.readStream(ins); + return form; + } + } catch (Exception e) { + e.printStackTrace(); + }finally { + DBUtils.closeConnection(connection); + } + + return null; + } + + private static Connection getConnection() throws ClassNotFoundException, SQLException { + // 定义数据连接(根据你实际数据库信息进行修改) + String driver = "com.mysql.jdbc.Driver"; + String url = "jdbc:mysql://localhost:3306/test"; + String user = "root"; + String pass = "123456"; + Class.forName(driver); + Connection conn = DriverManager.getConnection(url, user, pass); + return conn; + } + + @Override + public void setParameterMap(Map arg0) { + // TODO Auto-generated method stub + + } +} diff --git a/src/main/java/com/fr/demo/ReadfrmFromDatabase.java b/src/main/java/com/fr/demo/ReadfrmFromDatabase.java index 5180fee..601fca0 100644 --- a/src/main/java/com/fr/demo/ReadfrmFromDatabase.java +++ b/src/main/java/com/fr/demo/ReadfrmFromDatabase.java @@ -31,7 +31,7 @@ public class ReadfrmFromDatabase extends Formlet { Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, pass); // 从数据库中读模板 - String sql = "select B from report where A = '" + name + String sql = "select frm from report where frmname = '" + name + "'"; Statement smt = conn.createStatement(); ResultSet rs = smt.executeQuery(sql);