如何用java连接数据库,并且数据库可以随java程序移动,从一台机搬到另...
发布网友
发布时间:2022-05-02 19:35
我来回答
共3个回答
热心网友
时间:2022-04-11 02:22
用JDBC连接数据库,连接好以后,将数据库备份出来。然后再在另一台机器上还原数据库(前提另一台机上也要装有你用的这个数据库软件)
连接代码:这用的是SQLSERVER 2000 SP4
其它的数据库,你改对应的。 Driver user password url 就可以用了。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Conn {
/**
* @param args
*/
private static Connection con;
private Statement stmt;
private ResultSet rs;
static String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=stms"; //DatabaseName= 这里填上你自己数据库名字。数据库用的是SQLSERVER 2000 SP4
static String user = "sa";
static String password = "";
//String sqlStr = "select * from admin";
private static String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
public Conn() {
}
public static synchronized Connection getCon() throws Exception {
Class.forName(driver);
System.out.println("成功加载驱动");
try {
con = DriverManager.getConnection(url, user, password);
System.out.println("是否出错?");
} catch (Exception e) {
;
System.err.println(e.getMessage());
e.printStackTrace();
}
return con;
}
public Statement getstmtread() {
try {
con = getCon();
stmt = con.createStatement(1004, 1007);
return stmt;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
public ResultSet getrs(String sql) {
try {
Statement stmt = getstmtread();
rs = stmt.executeQuery(sql);
return rs;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
public Statement getStmt() {
try {
con = getCon();
stmt = con.createStatement();
return stmt;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
return null;
}
public synchronized void close() {
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
if (stmt != null)
stmt.close();
stmt = null;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
try {
if (con != null)
con.close();
con = null;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
public synchronized void closeAll() {
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
if (stmt != null)
stmt.close();
stmt = null;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
try {
if (con != null)
con.close();
con = null;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
}
//调用 getcon() 方法即可取得连接。 其它方法不多解悉
//别忘了最后关闭数据库。。
热心网友
时间:2022-04-11 03:40
楼主是不是骗我们的啊,据我所知,游戏的核心就是数据嘛,呵呵,难道楼主是搞游戏引擎滴??不都是买的么,呵呵。
我已经说了,用jdbc联,但别自己写,使用现成的数据源jar包,别人写好的,你只需要输入参数就行了,
步骤是这样的,程序启动,去某分解读取数据库配置,也就是连接信息,密码之类的,然后调用现成的数据源的接口,以读取的信息为参数,就可以获得数据库的connection了。如果会用hibernate,就直接可以通过OR映射,得到数据库中数据转换成的java对象,然后对java对象进行crud,都不需要了解数据库的。。。。
楼上的写这么多废话~误人子弟,哪有把数据库链接信息hard code到java文件中的!!!这是写toy程序吗?
我来说一句,把jdbc配置抽象出来,放在一个.xml或.properties文件中,楼主有没有用过spring框架,它不就是把一些开源的数据源通过配置文件注入程序中取的吗?
热心网友
时间:2022-04-11 05:15
一楼这兄弟,可能是刚入门的
呵呵!
二楼正解。可以用Hibernate,Spring等等配置信息写入xml文件
不用框架也可以。
Java有解析XML的API
这样就不用重复编译类文件了