Domino访问Mysql数据库
JAVA代理访问
使用Java代理库接Mysql,其与Java访问Mysql数据库大体上类似,使用JDBC进行数据库连接,但有一点区别,就是Java代理有安全性等级的设置。所以,使用JAVA代理访问Mysql时有以下几点需要注意:
1、需要将与Mysql对应的连接驱动拷贝至domino服务器程序目录下的jvm/lib/ext下(也可以将其拷贝至服务器的其它目录,并在notes.ini里做对应的配置),并重启domino服务器。
2、需要修改该domino代理的安全性等级为2级或3级,如下图:
3、如果该代理需要在Notes客户端上运行,需要将Mysql对应的驱动拷贝至Notes目录下的jvm/lib/ext下。
数据库添加代码:
import lotus.domino.*;
import java.sql.*;
java的jdbc连接数据库import java.util.ArrayList;
import java.io.PrintWriter;
public class JavaAgent extends AgentBase {
String url = "jdbc:mysql://localhost:3306/mytask";
Connection conn=null;
Statement statement=null;
ResultSet rs=null;
//数据库连接
public boolean CONN(){
try{
Class.forName("sql.jdbc.Driver");
conn = Connection(url, "root", "mysql");
statement = ateStatement();
return true;
}catch(Exception e){return false;}
}
//查询
public ResultSet Select(String sql){
if(this.CONN())
{
try{
rs = uteQuery(sql);
}
catch(Exception e){}
return rs;
}
else return null;
}
//执行Sql语句
public boolean ExcuteSql(String sql){
boolean x=false;
if(this.CONN())
{
try{
uteUpdate(sql);
x=true;
}catch(Exception e){e.printStackTrace();}
}
return x;
}
//数据库事务
public boolean ExcuteTrans(ArrayList al) {
boolean x=false;
if(this.CONN()) {
try{
conn.setAutoCommit(false);
for(int i=0;i<al.size();i++) {
String y = al.get(i).toString();
ute(y);
}
connmit();
conn.setAutoCommit(true);
x=true;
}catch(Exception e){
try {
llback();
conn.setAutoCommit(true);
}catch(Exception ex){}
}
}
return x;
}
public void NotesMain() {
try {
Session s = getSession();
AgentContext ag = s.getAgentContext();
Database db = ag.getCurrentDatabase();
//Document doc = db.createDocument();
//doc.appendItemValue("Form", "showData");
Document doc = ag.getDocumentContext();
String sql;
sql = "insert into tasks(deptname,proname,taskname,excctype) values ('"+ItemValueString("DeptName")+"','"+ItemValueString("ProName")+"','"+ItemValueString("TaskName")+"','"+ItemValueString("ExccType")+"')";
PrintWriter pw = getAgentOutput();
boolean result = this.ExcuteSql(sql);
if (result)
{
pw.println("<Script>alert('增加成功');</Script>");
}
else pw.println("<Script>alert('增加失败');</Script>");
} catch(Exception e) {
e.printStackTrace();
}
}
}
数据库查询代码:
import lotus.domino.*;
import java.sql.*;
import java.util.ArrayList;
public class JavaAgent extends AgentBase {
String url = "jdbc:mysql://localhost:3306/anatast";
Connection conn=null;
Statement statement=null;
ResultSet rs=null;
//数据库连接
public boolean CONN(){
try{
Class.forName("sql.jdbc.Driver");
conn = Connection(url, "root", "mysql");
statement = ateStatement();
return true;
}catch(Exception e){return false;}
}
//查询
public ResultSet Select(String sql){
if(this.CONN())
{
try{
rs = uteQuery(sql);
}
catch(Exception e){}
return rs;
}
else return null;
}
//执行Sql语句
public boolean ExcuteSql(String sql){
boolean x=false;
if(this.CONN())
{
try{
uteUpdate(sql);
x=true;
}catch(Exception e){e.printStackTrace();}
}
return x;
}
//数据库事务
public boolean ExcuteTrans(ArrayList al) {
boolean x=false;
if(this.CONN()) {
try{
conn.setAutoCommit(false);
for(int i=0;i<al.size();i++) {
String y = al.get(i).toString();
ute(y);
}
connmit();
conn.setAutoCommit(true);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论