如果你的两个数据库是不同类型的话,那么数据库访问的jar也就不一样,使用的类也不会相同。
那也就没有必要分成两个工程。
如果确实需要分成两个工程的话,那可以考虑用一个工程将结果输出到文件中,另外一个工程将结果从文件中读取。当然,因为文件的打开关闭 *** 作会比较慢,所以可能需要设置一个固定的时间点进行一次写入之后再关闭文件。
另外你说的servlet是什么意思?是你的两个工程其实都是web工程吗?
如果是web工程的话,那其实两个工程确实可以无缝 *** 作。因为对web工程来说,所有访问都是提交一个url,并将参数一起提交。
像你这种情况,你可以在A工程的action中将结果取得之后post到B工程的插入数据库 *** 作的action中去,然后在那个action中进行数据库的插入 *** 作。
上面这些都是理论,至于如果说要代码的话,那很抱歉,实在没有时间也没有精力去写额。毕竟对你的具体情况不了解,如果你不懂上面说的,那给你写了也没用。如果你理解了的话,那相信你花点时间自己也能写出来了。java中怎样创建MySQL数据库列表 需要使用jdbc访问数据库。
具体步骤如下:
1:加载驱动 ,返回连接
private static final String DRIVER_CLASS = "commysqljdbcDriver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/student";
private static final String DATABASE_USRE = "root";
private static final String DATABASE_PASSWORD = "cs";
/
返回连接
@return Connection
/
public static Connection getConnection() {
Connection dbConnection = null;
try {
ClassforName(DRIVER_CLASS);
dbConnection = DriverManagergetConnection(DATABASE_URL,
DATABASE_USRE, DATABASE_PASSWORD);
} catch (Exception e) {
eprintStackTrace();
}
return dbConnection;
}
2:获取连接,执行sql语句
public static List selectAllStudent() {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
List list = new ArrayList();
String sql = "select from Student ";
try {
con = ConnectionManagergetConnection();
pstm = conprepareStatement(sql);
// pstmsetString(1, uname);
rs = pstmexecuteQuery();
while (rsnext()) {
Student model = new Student();
modelsetStuId(rsgetInt("stuId"));
listadd(model);
}
} catch (SQLException e) {
eprintStackTrace();
} finally {
ConnectionManagercloseResultSet(rs);
ConnectionManagercloseStatement(pstm);
ConnectionManagercloseConnection(con);
}
return list;
}
3:调用获取列表方法。import javasqlConnection;
import javasqlDriverManager;
public class DBHelper {
private static final String driverName="commicrosoftsqlserverjdbcSQLServerDriver"; //加载jdbc驱动
private static final String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Sarlays"; //链接服务器和数据库Sarlays
private static final String username="sa"; //数据库用户名
private static final String password="123456"; //数据库密码
private static Connection conn=null;
//静态代码负责加载驱动
static {
try {
ClassforName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
//单例模式返回数据库链接对象
public static Connection getConnection() throws Exception{
if(conn==null){
conn=DriverManagergetConnection(dbURL, username, password);
return conn;
}
return conn;
}
}
1、加载驱动程序。
2、创建连接对象。
3、创建sql语句执行对象 。
4、执行sql语句。
5、对执行结果进行处理。
6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。
处理结果两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。
扩展资料:
Statement
要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3 种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
参考资料:
Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
package db;
import javasqlConnection;
import javasqlDriverManager;
import
javasqlResultSet;
import javasqlSQLException;
import
javasqlStatement;
import javautilArrayList;
public class ConnDb {
public Connection startConn(Connection conn){
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver");
conn = DriverManagergetConnection("jdbc:odbc:数据库","用户名", "密码");
} catch (Exception e) {
Systemoutprintln("连接数据库时出现错误");
}
return conn;
}
public ArrayList executeQuery(String sql){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ArrayList list = new ArrayList();
try {
conn = startConn(conn);
stmt = conncreateStatement();
rs = stmtexecuteQuery(sql);//sql为sql语句例如"select from
表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来
while(rsnext()){
TestBean tb = new TestBean();
tbsetTid(rsgetString("tid"));
tbsetTname(rsgetString("tname"));
tbsetTinfo(rsgetString("tinfo"));
listadd(tb);
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
return list;
}
public void executeUpdate(String sql){
Connection conn = null;
Statement stmt = null;
try {
conn =
startConn(conn);
stmt = conncreateStatement();
stmtexecuteUpdate(sql);
}
catch (SQLException e) {
Systemoutprintln("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
public void closeConn(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs !=
null){
rsclose();
}
if(stmt != null){
stmtclose();
}
if(conn != null){
connclose();
}
}
catch (SQLException e) {
// TODO Auto-generated catch
block
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
public void closeConn(Statement stmt,Connection conn){
try {
if(stmt != null){
stmtclose();
}
if(conn != null){
connclose();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)